我在多选元素中有一个日期列表,我需要将所选日期列表发送到服务器进行处理。
jQuery正在变得干扰,让我不断增加内存和CPU的使用量,我不明白,因为单独运行haywire部分就可以了。
HTML
<select id="my-dates" name="my-dates[]" multiple="multiple" size="5">
<option>2011-01-18</option>
<option>2011-01-20</option>
<option>2011-01-21</option>
<option>2011-01-27</option>
</select>
jQuery
$.getJSON('dates_handling.php',{
dates: $('select#my-dates').find(':selected'),
other:stuff
},function(result){
// result handling
});
data key 'dates' should contain an transmit-able array like ['2011-01-20',2011-01-27']
jQuery haywire part
$('select#my-dates').find(':selected')
答案 0 :(得分:1)
我会手动构建日期数组,因为您传递的是完整的jQuery对象:
var selectedDates = [];
$('select#my-dates > option:selected').each(function() {
selectedDates.push($(this).html());
});
$.getJSON('dates_handling.php',{
dates: selectedDates,
other:stuff
},function(result){
// result handling
});
答案 1 :(得分:0)
您也可以使用:
$('#my-dates').val()
它返回选择作为数组的值。