如果我有这样的 html。
<select multiple="" class="form-control" id="catalogsearch_specification2">
<option value="B-3-7">aaa</option>
<option value="B-3-7">bbb</option>
<option value="B-3-7">ccc</option>
<option value="B-3-7">ddd</option>
</select>
如何用javascript检查select选项中的所有值是否相同?
最佳答案
使用 Set
对象来检查每个 option
元素是否具有相同的 value
属性。如果是这样 - 使用 Array#forEach
对它们中的每一个应用 selected
属性。
let parent = document.getElementById('catalogsearch_specification2'),
values = Array.from(parent.children).map(v => v.value);
[...new Set(values)].length == 1 ? Array.from(parent.children).forEach(v => v.selected = true) : null;
<select multiple="" class="form-control" id="catalogsearch_specification2">
<option value="B-3-7">aaa</option>
<option value="B-3-7">bbb</option>
<option value="B-3-7">ccc</option>
<option value="B-3-7">ddd</option>
</select>
关于javascript - 如何检查选择选项中的所有值是否与javascript相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882597/