我正在尝试比较2个数组,以检查数组中是否存在与ul中的元素相同的id,我将它们与它进行比较。
我正在减少一些传入数据(在ajax调用成功的情况下)到一个像这样的ID数组
var storeLibIds = data.libraries( function(obj){
return obj.id;
});
然后,我想将该数组与dom上的某些li进行比较,如果两者中存在id,请选中元素内的复选框
所以我试着像这样循环使用li
$.each(".lessonList li"), function(){
//if $(this).attr("id") exists in storeLibIds, then $(this).find(".otherLibCheck").prop("checked", true); then check off the checkbox inside
});
所以我的基本想法是循环通过li并检查他们的arrt(“id”)vs数组,如果它存在,请勾选方框。我遇到的问题是我不确定是否要遍历所有这些问题,或者是否有办法使用.filter检查是否存在以检查复选框。我无法理解这种逻辑,任何帮助都会受到赞赏。谢谢!
答案 0 :(得分:1)
一种方法是使用storeLibIds.indexOf(id)
检查数组中是否存在id
。
$.each($(".lessonList li"), function(idx,obj){
if (storeLibIds.indexOf(obj.attr("id")) != -1) {
...
});