jQuery:无法获取具有相同名称的选择框的值

时间:2018-06-25 08:07:14

标签: jquery

我有一组同名的选择框。我想通过jQuery获取那些选择框的选择值并创建一个数组。

function submitboxes(){
var manufCountry = $('input[name=manufacturerCountry]').map(function(){
    return this.value;
    }).get();
    
console.log(manufCountry);
}
<form><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="manufacturerCountry[]" id="" class="form-control customSelect"><option value="1">A</option><option value="2">B</option></select>

<select name="manufacturerCountry[]" id="" class="form-control customSelect"><option value="3">C</option><option value="4">D</option></select>
<button type="button" onclick="submitboxes();">Submit</button>
</form>

但是,在控制台中,我看到了

  

[]

1 个答案:

答案 0 :(得分:1)

您的数组始终为空,因为您的选择器与HTML不匹配:

$('input[name=manufacturerCountry]')将搜索名称属性等于input的{​​{1}}。

但是,您的HTML包含一个名为manufacturerCountry的{​​{1}}元素。 因此,将选择器更改为

select

您的代码将正常工作。


Example

注意:我已经更改了事件处理方式,以删除manufacturerCountry[]属性


参考:

jQuery attribute selector