0

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

HTML:

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

JS:

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

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

4

3 回答 3

1

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

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

})

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

于 2012-10-20T21:22:58.130 回答
0

每个元素是否都有唯一的 id=""?如果没有,这可能是它不起作用的原因。或者,您可以使用 class="the_select",因为类不需要是唯一的。jQuery 需要更改为:

var form_data = {
    select : $(".the_select").val()
};
于 2012-10-20T21:13:27.007 回答
0

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

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

如果您使用多个选择并且您正在尝试获取它们的所有值,那么您将需要单独选择每个选择,如下所示:

$('select[name="select[]"]').each(function(){
// Do Something with the value here
$(this).val()
});
于 2012-10-20T21:16:15.403 回答