多重选择与jquery困境

时间:2012-10-20 21:06:10

标签: php javascript jquery select drop-down-menu

我有一个下拉列表,允许用户选择某些选项。之后它调用一个php脚本进行处理。我遇到的问题是,如果我只选择一个选项,一切正常,但当我选择多个选项时,它不起作用。

HTML:

<select name="select[]" id="the_select">
<option></option>
</select>

JS:

var form_data = {
    select : $("#the_select").val()
};

现在我的php脚本需要一个数组,我该怎么做呢?我是否必须遍历javascript中的select元素并构建一个要发送的数组?

3 个答案:

答案 0 :(得分:1)

使用serialize()方法用一个函数序列化整个表单,让jQuery进行数组管理和繁重的编码变量

var ajaxData=$('#myForm').serialize()
$.post( url, ajaxData, function(){
  /* ajax success code*/

})

API参考:http://api.jquery.com/serialize/

答案 1 :(得分:0)

每个元素都有唯一的id =“”吗?如果没有,这可能是它无法正常工作的原因。或者,您可以使用class =“the_select”,因为类不需要是唯一的。 jQuery需要改为:

var form_data = {
    select : $(".the_select").val()
};

答案 2 :(得分:0)

如果您需要多重选择,请确保包含多重属性:

<select name="select[]" id="the_select" multiple>
<option></option>
</select>

如果您使用多个选项而您正在尝试获取所有值,则需要逐个选择每个值:

$('select[name="select[]"]').each(function(){
// Do Something with the value here
$(this).val()
});