Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数组的对象是否等于选项值_Javascript_Jquery_Drop Down Menu - Fatal编程技术网

Javascript 如何检查数组的对象是否等于选项值

Javascript 如何检查数组的对象是否等于选项值,javascript,jquery,drop-down-menu,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"&g

我在表单上有以下选择框,选项数目未知:

<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>​
我想做的是检查选择框的每个选项,看看数组中的一个元素是否等于它

将此付诸实践的最佳方式是什么


非常感谢您的帮助。

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

var optionValue = $('select option:selected').val();
if ($.inArray(optionValue, checkValArray) !== -1) {
  // it's in
}
else {
  // it's not
}
对于Multiselect,它可能与以下内容一起使用

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

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

var optionValue = $('select option:selected').val();
if ($.inArray(optionValue, checkValArray) !== -1) {
  // it's in
}
else {
  // it's not
}
对于Multiselect,它可能与以下内容一起使用

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

这应该能奏效

var selectedArray = $("select#yourselectid").val();
var equal = $.extend($.extend([], checkValArray), selectedArray).length == checkValArray.length;

这应该能奏效

var selectedArray = $("select#yourselectid").val();
var equal = $.extend($.extend([], checkValArray), selectedArray).length == checkValArray.length;

您可以使用$.inArray方法来实现这一点

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

var options = $('select option');

$.each(options , function(i){
    if($.inArray( $(this).val() , checkValArray) > -1){
       alert('Match Found');
    }
});
检查

您可以使用$.inArray方法来实现这一点

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

var options = $('select option');

$.each(options , function(i){
    if($.inArray( $(this).val() , checkValArray) > -1){
       alert('Match Found');
    }
});
检查

这里是一个没有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-selectitems=document.getElementsByTagName(“选择”)[0];
var items=selectitems.getElementsByTagName(“选项”);
警报(项目.长度);
对于(变量i=0;i

这里是一个没有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-selectitems=document.getElementsByTagName(“选择”)[0];
var items=selectitems.getElementsByTagName(“选项”);
警报(项目.长度);
对于(变量i=0;i

我的问题是for循环的语法。我不知道我是否可以像jQuery.inArray(I,checkValArray)>-1为什么不可以?您只需将正确的值而不是索引传递到
inaray
。顺便说一句,这有一个与您的案例相关的示例。我的问题是for循环的语法。我不知道我是否可以像jQuery.inArray(I,checkValArray)>-1为什么不可以?您只需将正确的值而不是索引传递到
inaray
。顺便说一句,这有一个例子,你可能会发现与你的情况有关。就是这样。非常感谢你。我会尽快接受你的答复,就这样。非常感谢你。我会尽快接受你的答复。