gpt4 book ai didi

javascript - 将选择多个输入转换为 bool 数组

转载 作者:行者123 更新时间:2023-11-28 17:34:20 25 4
gpt4 key购买 nike

获取表示是否选择该选项的 bool 值数组的最佳方法是什么?

例如:

当标记为:

<select id="myMultipleSelect" multiple>
<option selected>Urgent</option>
<option selected>Important</option>
<option selected>Other</option>
</select>

所需的结果数组应构造为:

  • 所有选项均已选中:[true,true,true]

  • 仅选择紧急选项:[true,false,false]

  • 选择紧急重要选项:[true,true,false]

<小时/>

我尝试使用 $.val() 但它返回(当选择所有选项时)["Urgent","Important","Other"]Urgent 仅选择选项才会返回:["Urgent"]

$('#myMultipleSelect').on('change', event => {               
console.log($(event.currentTarget).val());
});

有什么优雅的方式来实现这个目标吗?

最佳答案

您可以使用 jQuery .get() 的组合和 Array#map

  • $('option',this) 从您的 select 中选择每个 option

  • .get() 从 jQuery 选择器返回 Javascript DOM 元素

  • .map() 遍历您的数组

  • $(e).is(':selected') 如果您的选项已选择或未选择,则返回 truefalse

$('#myMultipleSelect').on('change', function(){               
console.log($('option',this).get().map(e => $(e).is(':selected')));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="myMultipleSelect" multiple>
<option selected>Urgent</option>
<option selected>Important</option>
<option selected>Other</option>
</select>

关于javascript - 将选择多个输入转换为 bool 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49488073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com