jQuery inArray总是在没有匹配项时查找匹配项
我使用inArray来确定值是否位于如下所示的数组中:jQuery inArray总是在没有匹配项时查找匹配项,jquery,Jquery,我使用inArray来确定值是否位于如下所示的数组中: $.each($("input[type=checkbox]#type"), function (x, y) { if ($.inArray(o, $(y).val().toString())) { console.log("Here"); } else { console.log("Not H
$.each($("input[type=checkbox]#type"), function (x, y) {
if ($.inArray(o, $(y).val().toString())) {
console.log("Here");
}
else {
console.log("Not Here");
}
});
o中的值为:
var o = [11, 17, 5];
这是我的复选框:
<input type="checkbox" id="type" value="5" />
<input type="checkbox" id="type" value="7" />
<input type="checkbox" id="type" value="10" />
<input type="checkbox" id="type" value="11" />
<input type="checkbox" id="type" value="15" />
<input type="checkbox" id="type" value="17" />
<input type="checkbox" id="type" value="20" />
但是根据我的控制台日志,“Here”为每一个出现,它为什么这样做?您可以检查
$。inArray
没有返回值-1
,这意味着找不到。此外,还需要使用parseInt
将复选框的值转换为integer
演示代码:
var o=[11,17,5];
$。每个($(“输入[type=checkbox]”),函数(x,y){
var value=parseInt($(y).val())//解析为整数
//检查返回值是否不是-1(找到的平均值)
如果($.inArray(值,o)!=-1){
log(“此处----”+值);
}否则{
console.log(“不在这里”);
}
});代码>
您可以检查$。inArray
没有返回值-1
,这意味着找不到。此外,还需要使用parseInt
将复选框的值转换为integer
演示代码:
var o=[11,17,5];
$。每个($(“输入[type=checkbox]”),函数(x,y){
var value=parseInt($(y).val())//解析为整数
//检查返回值是否不是-1(找到的平均值)
如果($.inArray(值,o)!=-1){
log(“此处----”+值);
}否则{
console.log(“不在这里”);
}
});代码>
您交换了$.inArray()
方法的参数
在数组中搜索指定的值并返回其索引(如果未找到,则返回-1)
值:要搜索的值
数组:用于搜索的数组
fromIndex(可选):开始搜索的数组的索引。默认值为0,它将搜索整个数组
给定文档中的每个ID都应该是唯一的,但多个元素可以具有相同的名称
属性。此外,如@swati所述,您需要将值转换为整数
,因为数组的元素是整数
演示
var o=[11,17,5];
$。每个($(“输入[type=checkbox][name=type]”)函数(x,y){
var value=+y.value;//或parseInt(y.value)
如果($.inArray(值,o)>-1){
log(“此处----”+值);
}否则{
console.log(“不在这里”);
}
});代码>
您交换了$.inArray()
方法的参数
在数组中搜索指定的值并返回其索引(如果未找到,则返回-1)
值:要搜索的值
数组:用于搜索的数组
fromIndex(可选):开始搜索的数组的索引。默认值为0,它将搜索整个数组
给定文档中的每个ID都应该是唯一的,但多个元素可以具有相同的名称
属性。此外,如@swati所述,您需要将值转换为整数
,因为数组的元素是整数
演示
var o=[11,17,5];
$。每个($(“输入[type=checkbox][name=type]”)函数(x,y){
var value=+y.value;//或parseInt(y.value)
如果($.inArray(值,o)>-1){
log(“此处----”+值);
}否则{
console.log(“不在这里”);
}
});代码>