当具有相同类名的多个div时,是否可以获取具有特定类名的div中所有选定值的数组?
<div class="mydiv">
<select name="first">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<select name="second" ">
<option value="1">One</option>
<option value="2">Two</option>
</select> </div>
<div class="mydiv">
<select name="first">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<select name="second" ">
<option value="1">One</option>
<option value="2">Two</option>
</select> </div>
如果我这样做:$(".mydiv").each(function (){ });
我将通过两个div循环(总共两次,因为我的mydiv类有两个div),这是我想要的。现在,我想获取每个选择(第一个和第二个)在每个div中的选定值。
答案 0 :(得分:0)
您可以使用map()
。
以下假设您需要每个<div>
let res = $('.mydiv').map(function(){
return [$(this).find('select').map(function(){
return $(this).val()
}).get()]
}).get()
console.log(res)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="mydiv">
<select name="first">
<option value="1" selected>One</option>
<option value="2">Two</option>
</select>
<select name="second">
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
</div>
<div class="mydiv">
<select name="first">
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
<select name="second">
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
</div>
对于平面数组,请执行以下操作:
let res = $('.mydiv select').map(function(){
return $(this).val();
}).get();