javascript - 如何检查数组对象是否等于选项值

标签 javascript jquery drop-down-menu

我的表单上有以下选择框,其中选项数量未知:

<select>
   <option value="v1">v1</option>
   <option value="v2">va2</option>
   <option value="v3">va3</option>
   <option value="v11">v11</option>
   <option value="v12">va12</option>
   <option value="v13">va13</option>
</select>​

我在 JavaScript 中定义了以下数组:

var checkValArray = ['v1', 'v2', 'v13'];

我想做的是遍历选择框的每个选项,看看数组中的元素是否与其相等。

将其付诸实践的最佳方法是什么?

非常感谢您的帮助。

最佳答案

有一个非常有用的 jQuery API 方法:$.inArray 。所以它应该是这样的:

var optionValue = $('select option:selected').val();
if ($.inArray(optionValue, checkValArray) !== -1) {
  // it's in
}
else {
  // it's not
}

对于多选,它可以与诸如...之类的东西一起使用

$('select option:selected').each(function() {
   if ($.inArray(this.value, checkValArray) !== -1) { ... }
});

关于javascript - 如何检查数组对象是否等于选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12392372/

相关文章:

jquery - 将事件附加到 jquery 自动完成

css - 如何让我的 WordPress 下拉菜单停止/换行并向右移动?

javascript - 选择主下拉菜单并强制其他下拉菜单选择具有相同值的选项

javascript - 比较两个嵌套数组和对象以查找差异

javascript - 无法使用 Safari 上的存储访问 API 在 iframe 中设置 cookie

Jquery 完整日历问题 - 事件组和多个事件源的颜色

javascript - 如何防止在 ("change"上使用 jQuery 调用多个事件)

jQuery - 将 Bootstrap 下拉类添加到现有 UL LI 菜单结构

javascript - jQuery 事件被覆盖

javascript - 比较输入和数字