jQuery post на информация при избиране на <option>

if

Registered
Здравейте! За първи път ми се наложи използването на jQuery и ударих на камък. Имам select с няколко option-а. Целта е при избирането на опция да се изпратят данните от value-то на option-а към php скрипт, където да ги обработя и да изкарам в div обратно обработените резултати. Кода изглежда така:

PHP:
            <form name="form">
            Изберете въпрос: <select id="vupros" name="vupros">
                <?php
                $sql = "SELECT * FROM `vuprosi` ORDER BY `id` ASC";
                $result = mysql_query($sql) or die(mysql_error());
                while($row = mysql_fetch_assoc($result)) {
                    echo "<option value='$row[id]'>$row[vupros]</option>";
                }
                ?>
            </select>
            </form>
            <div id="otgovori" name="otgovori"></div>

[js]
<script src="http://code.jquery.com/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#vupros").change(function(){
$.post('./jquery_load.php', { server: form.vupros.value },
function(output) {
$('#otgovori').html(output).show();
});
});
});
</script>
[/js]

Нещата трябва да се изкарват в div-а "otgovori".

Благодаря предварително на отзовалите се!
 
Като начало вместо $.post можеш да ползваш $.ajax, защото така или иначе jQuery се обръща към този метод, когато изпълнява $.post или $.get.

Също за change, можеш да използваш on('change'...) (пак по същата причина, jQuery така или иначе извиква on метода.

Повече за jQuery можеш да откриеш тук, това е едно много хубава поредица, която е напълно безплатна:
http://tutsplus.com/course/30-days-to-learn-jquery/


А по твоят проблем:

HTML:
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Some title</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
	
	<form name="form">
		Изберете въпрос: 
		<select id="vupros" name="vupros">
			<option value='1'>first</option>
			<option value='2'>second</option>
			<option value='3'>third</option>
		</select>
	</form>
	<div id="otgovori" name="otgovori"></div>

<script>
	(function( $ ) {
		$('#vupros').on( 'change', function() {
			$.ajax({
				url: './jquery_load.php',
				data: $(this).serialize(),
				type: 'POST',
				success: function(data) {
					$('#otgovori').html(data).show();
				}
			});
		});
	})( jQuery )
</script>
</body>
</html>

PHP:
<?php

switch($_POST['vupros']) {
	case 1: 
		$val = "first";
		break;
	case 2: 
		$val = "second";
		break;
	case 3: 
		$val = "third";
		break;
}

echo "You picked up a ". $val ." value";

?>

PHP кодът е колкото да тествам, че всичко работи. Ти разбира се можеш да си направиш заявката към базата данни (както и задължително да си провериш $_POST променливата и да я изчистиш от ненужни неща, или иначе казано да си защитиш кода, защото в моя няма никакви проверки за стойността на $_POST).
 

Горе