发送列表:从多个可选择的选择中选择通过getJSON

时间:2011-01-20 11:40:22

标签: json jquery getjson

我在多选元素中有一个日期列表,我需要将所选日期列表发送到服务器进行处理。
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')

2 个答案:

答案 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()

它返回选择作为数组的值。