我有一个下拉列表,允许用户选择某些选项。之后它调用一个php脚本进行处理。我遇到的问题是,如果我只选择一个选项,一切正常,但当我选择多个选项时,它不起作用。
HTML:
<select name="select[]" id="the_select">
<option></option>
</select>
JS:
var form_data = {
select : $("#the_select").val()
};
现在我的php脚本需要一个数组,我该怎么做呢?我是否必须遍历javascript中的select元素并构建一个要发送的数组?
答案 0 :(得分:1)
使用serialize()
方法用一个函数序列化整个表单,让jQuery进行数组管理和繁重的编码变量
var ajaxData=$('#myForm').serialize()
$.post( url, ajaxData, function(){
/* ajax success code*/
})
答案 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()
});