如何在jquery中检查来自两个循环的匹配数据?

如何在jquery中检查来自两个循环的匹配数据?,jquery,Jquery,我的功能有两个循环。一个是forloop,另一个是$.each()。我需要比较两个循环,如果有匹配的数据,复选框显示为selected=“selected”。请检查我的代码并更正 var cssClassRel = event.other.cssClass; //class-7b,class-7c,class-10c etc var cssClassRelSplit = cssClassRel.split(" "); var cssFor = []; var cssEach = []

我的功能有两个循环。一个是forloop,另一个是$.each()。我需要比较两个循环,如果有匹配的数据,复选框显示为selected=“selected”。请检查我的代码并更正

var cssClassRel      = event.other.cssClass; //class-7b,class-7c,class-10c etc 
var cssClassRelSplit = cssClassRel.split(" ");
var cssFor = [];
var cssEach = [];
for(var i=0; i<cssClassRelSplit.length; i++){
  cssFor = cssClassRelSplit[i]
}
$('div.saveFilter').find('input:checkbox').each(function () {
   cssEach = $(this).attr('rel') ////class-7b,class-7c,class-10c,class-10d,class-12c etc
   if(cssFor == cssEach){
     $(this).prop('checked', true);
   } 
   else{
     $(this).prop('checked', false);
   }
});
var cssClassRel=event.other.cssClass//7b类、7c类、10c类等
var cssClassRelSplit=cssClassRel.split(“”);
var cssFor=[];
var cssEach=[];

对于(var i=0;i使用朱利安所说的
inArray
,并结合
旁注
Gone编码

结果如下:

:)

像朱利安所说的那样使用
inArray
,并结合
旁注
进行编码

结果如下:

:)

prop
可以使用回调函数而不是值,
split
返回一个数组,该数组有自己的indexOf方法。结合这两种情况,整个集合可以写成:

$('div.saveFilter input:checkbox').prop('checked', function(){return cssClassRelSplit.indexOf($(this).attr('rel')) !== -1;});
基于html的完整示例(假设cssClassRel的输入为字符串):

var cssClassRel='7b类7c类10c类'
var cssClassRelSplit=cssClassRel.split(“”);
$('div.saveFilter input:checkbox').prop('checked',function(){return cssClassRel.indexOf($(this.attr('rel'))!==-1;})

7b
7c
10c
不在阵列中

prop
可以使用回调函数而不是值,
split
返回一个具有自己的indexOf方法的数组。结合这两种情况,整个集合可以写成:

$('div.saveFilter input:checkbox').prop('checked', function(){return cssClassRelSplit.indexOf($(this).attr('rel')) !== -1;});
基于html的完整示例(假设cssClassRel的输入为字符串):

var cssClassRel='7b类7c类10c类'
var cssClassRelSplit=cssClassRel.split(“”);
$('div.saveFilter input:checkbox').prop('checked',function(){return cssClassRel.indexOf($(this.attr('rel'))!==-1;})

7b
7c
10c
不在阵列中

jQuery提供了一个inArray函数)您不应该在每个循环中都有for循环吗?旁注:我讨厌冗长的布尔检查。。。将这6行减少到
$(this).prop('checked',cssFor==cssEach):)您应该能够使用数组中的信息简单地查找目标元素,而不是每次都搜索它们。你能提供一个HTML的例子吗?@gonecode。我在问题中添加了HTML。ThanksjQuery提供了一个inArray函数)您不应该在每个循环中都有for循环吗?旁注:我讨厌冗长的布尔检查。。。将这6行减少到
$(this).prop('checked',cssFor==cssEach):)您应该能够使用数组中的信息简单地查找目标元素,而不是每次都搜索它们。你能提供一个HTML的例子吗?@gonecode。我在问题中添加了HTML。谢谢你。非常感谢,太好了。非常感谢你。