javascript - 如何检查选择选项中的所有值是否与javascript相同?

标签 javascript jquery html

如果我有这样的 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/

相关文章:

html - 将 HTML 添加到 iOS 我得到预期的 '[' 错误

html - jquerymobile pageinit() 页面隐藏?

javascript - 为什么我的 localStorage.setItem() 和 localStorage.getItem() 没有存储值?

javascript - ReactJS - 有关动态路由的问题

javascript - 如何在 javascript 或 jquery 中创建列表

javascript - 什么是好的 Javascript 时间选择器?

jquery - IE9 不接受标准的 jQuery 语法

javascript - Firebase 创建用户 "manually"

javascript - TypeScript 中方法参数的隐式类型转换

javascript - jQuery 和 JavaScript 函数