jQuery Select数组不起作用

时间:2017-04-14 10:54:53

标签: jquery html

HTML代码:

<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

jQuery代码:

var codes = $("input[name='code[]']").serializeArray();
alert(codes);

警报为空,为什么会发生我在所有选择框中选择了值。但是,任何人都可以帮助我。如何解决此错误?

3 个答案:

答案 0 :(得分:2)

您的jquery选择器input[name='code[]错误,因为您使用的是select代码,而不是input。尝试将您的jquery代码更改为:

var codes = $("select[name='code[]']").serializeArray();
alert(codes);

如果要将返回的对象映射到其值,可以使用map

var codes = $("select[name='code[]']").serializeArray().map(function(obj) {
  return obj.value;
});

答案 1 :(得分:2)

选择器正在尝试查找输入..您应该将其更改为选择。

[]

https://jsfiddle.net/3qdbkx36/

答案 2 :(得分:0)

$("select[name='code[]']").change(function() {
  var codes = $("select[name='code[]']").serializeArray();
  codes.forEach(function(element) {
  alert(element.value);
});
});

&#13;
&#13;
$("select[name='code[]']").change(function() {
  var codes = $("select[name='code[]']").serializeArray();
  codes.forEach(function(element) {
  alert(element.value);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select name="code[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
&#13;
&#13;
&#13;