объясняю)
есть 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"