Показать сообщение отдельно
  #3 (permalink)  
Старый 22.05.2012, 16:34
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

объясняю)

есть select :

<div id="info"></div>

<select id="sel" size="3">
<option value="1">Значение 1</option>
<option value="2">Значение 2</option>
<option value="3">Значение 3</option>
</select>

<div id="send">SEND</div>


и двумя разными способами пытаемся отправить значение выбранного option. C помошью $.ajax и с помощью Ajax Upload :

1) первый метод с помощью $.ajax. Все работает:
$("#send").click(function(){
$.ajax({
		            url: 'upload.php',
					type:'POST',
					data: {
						sel_id:$("#sel option:selected").val(),
					},
					dataType: "json", 
					success: function(response){ //onComplete
$("#info").html(response.msg);													
}
					
	});
});


2) второй метод с помощью Ajax Upload. Выдает Undefined:

new AjaxUpload('send', {
		            action: 'upload.php',
					name: 'theFile',
					
					data: {
						sel_id: $("#sel option:selected").val(),
					},
					responseType: "json",
					onComplete : function(file, response) { //onComplete
$("#info").html(response.msg);
}
											
	});


содержимое upload.php , куда посылаем запрос:

$arr = array("response" => "success", "msg" => $_POST['sel_id']);
echo json_encode($arr);


В первом случае нам возвращается value выбранного option (1, 2 или 3). Во втором случае нам присылается "Undefined".

Я честно говоря не пойму почему через Ajax Upload в значение $("#sel option:selected").val() передается "undefined"
Ответить с цитированием