我的网页上有一个随机数select multiple
,当用户点击发送按钮时,我会通过select multiple
检索class
的值。我也使用所选的插件,但我不认为它会干扰我即将曝光的问题。这是我的代码:
<select multiple="multiple" id="idName0" class="idName chosenSelect">
<option value="...">...</option>...
</select>
<select multiple="multiple" id="idName1" class="idName chosenSelect">
<option value="...">...</option>...
</select>
得到结果:
results.push($(".idName").map(function(){return $(this).val();}).get());
假设我在第一个option
(select
foo和bar)中选择了2个value
,而在第二个value
中选择了一个array
foobar的)。所有这些给了我一个[foo,bar,foobar]
看起来像:
[[foo,bar],[foobar]]
我想要的是:
select multiple
据我所知,当您在指向option
的选择器上调用.val()时,会为您提供一个具有不同选定select multiple
的数组。在这里,在战斗中有多个a
,我希望创建这些数组的数组。
欢迎任何帮助。
答案 0 :(得分:1)
您可以使用map()
,但您还需要在数组中包含每个select
的值。如果您不希望数组中有null
个空选项,则可以在.filter(Boolean)
之后添加.get()
$('select').change(function() {
var data = $("select").map(function() {
return [$(this).val()]
}).get()
console.log(data)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple="multiple" id="idName0" class="idName chosenSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select multiple="multiple" id="idName1" class="idName chosenSelect">
<option value="4">4</option>
</select>