如何检查数组中的对象是否等于选项值
How to check whether an object of an array equals an option value
我在一个具有未知选项数量的表单上有以下选择框:
<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) { ... }
});
$('select option').each(function() {
if ($.inArray($(this).val(),checkValArray)>-1) {
// do something
}
});
您可以使用$.inArray方法来实现此
var checkValArray = ['v1', 'v2', 'v13'];
var options = $('select option');
$.each(options , function(i){
if($.inArray( $(this).val() , checkValArray) > -1){
alert('Match Found');
}
});
检查FIDDLE
这里有一个没有jQuery的解决方案:
var selectitems = document.getElementsByTagName("select")[0];
var items = selectitems.getElementsByTagName("option");
alert(items.length);
for(var i = 0; i < items.length; i++)
{
alert(items[i].innerHTML);
}
这应该可以完成
var selectedArray = $("select#yourselectid").val();
var equal = $.extend($.extend([], checkValArray), selectedArray).length == checkValArray.length;
相关文章:
- str.split(someString).join(someOtherString)是否等效于替换
- 如何查找值是否存在于二叉树中
- 如何检查数组中的对象是否等于选项值
- 在BootStrap菜单栏中为所选项目设置背景,类似于BootStrap中的父导航选项
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- jQuery-检测选择对象是否添加或删除了选项
- 如何检查选项是否包含空字符
- 如何在单击时将 css 属性应用于选项卡
- 检查选项是否已选择Form cakephp 3
- 为用户提供编辑Marko模板的选项是否安全
- 如何用不同的按钮打开侧菜单,类似于选项卡
- 如何知道下拉菜单的选项是否被选中
- 检查选择下拉菜单中的选项是否可用
- 如何正确检查所选选项是否为空
- 使用JavaScript检查一个选项是否已经存在于多选择框中
- JQUERY检查listbox选项是否被选中,作为if循环的条件