Javascript 循环遍历数组以将相同的值应用于其他复选框

Javascript 循环遍历数组以将相同的值应用于其他复选框,javascript,jquery,Javascript,Jquery,当复选框的值与数组中的值相似时,我尝试将set复选框应用于true 下面是我的javascript: $(document).on('click', '#applyallbtn', function () { var searcharray = $("#apply_all").children("input:checked"); for (var i = 0; i < searcharray.length; i++) { $('tr input[type=

当复选框的值与数组中的值相似时,我尝试将set复选框应用于true

下面是我的javascript:

 $(document).on('click', '#applyallbtn', function () {
    var searcharray = $("#apply_all").children("input:checked");
    for (var i = 0; i < searcharray.length; i++) {
        $('tr input[type=checkbox][value=searcharray[i]]').prop('checked', true);
        }
  });
当我将值设置为一个静态数字(即,[value=2])时,这就起作用了


然而,当我尝试只将值设置为数组searcharray[I]时,我正在破坏它。

我个人会稍微改变一下您的逻辑。根据值评估元素,而不是按值查找

$(文档).on('click','applyallbtn',function(){
//要获得一个实际的值数组,您必须映射它们并获得数组
var searcharray=$(“#全部应用”).children(“输入:选中”).map(函数(){
返回此.value;
}).get();
$('tr:checkbox').filter(函数(){
//如果复选框的值在数组中,则应选中它
返回searcharray.indexOf(this.value)>-1;
}).prop('checked',true);
});

单击下面的以应用于表中的所有框

宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
添加行


价值表
地点1
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
地点2
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
地点3
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8

就我个人而言,我会稍微改变一下你的逻辑。根据值评估元素,而不是按值查找

$(文档).on('click','applyallbtn',function(){
//要获得一个实际的值数组,您必须映射它们并获得数组
var searcharray=$(“#全部应用”).children(“输入:选中”).map(函数(){
返回此.value;
}).get();
$('tr:checkbox').filter(函数(){
//如果复选框的值在数组中,则应选中它
返回searcharray.indexOf(this.value)>-1;
}).prop('checked',true);
});

单击下面的以应用于表中的所有框

宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
添加行


价值表
地点1
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
地点2
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8
地点3
宠物1
宠物2
宠物3
宠物4
宠物5
宠物6
宠物7
宠物8

您可以使用JQuery选择器和过滤器进行迭代,以简化代码

var searcharray=['2','3'];
$(文档).on('click','applyallbtn',函数(){
$(“#应用所有输入[类型=复选框]”)
.filter(函数(){return searcharray.indexOf($(this.val())>-1;})
.prop('checked',true);
});

一排
第2排
第3排
全部应用

您可以使用JQuery选择器和过滤器进行迭代,以简化代码

var searcharray=['2','3'];
$(文档).on('click','applyallbtn',函数(){
$(“#应用所有输入[类型=复选框]”)
.filter(函数(){return searcharray.indexOf($(this.val())>-1;})
.prop('checked',true);
});

一排
第2排
第3排
全部应用

您必须在中输入值,使用模板文字,或找到复选框,对值进行筛选,然后执行PROP。您必须在中输入值,使用模板文字,或找到复选框,对值进行筛选,然后执行PROP。在此处尝试过,但无法使其正常工作选中顶部的复选框应选中底部相同数字的复选框。@user749798已使用您的标记更新,并修复了
searcharray
实际上不是一个值数组的问题谢谢您的帮助!谢谢在此处尝试过,但无法使其正常工作选中顶部的复选框应选中底部相同数字的复选框。@user749798已使用您的标记更新,并修复了
searcharray
实际上不是一个值数组的问题谢谢您的帮助!添加了用于引用的JSFIDLE添加了用于引用的JSFIDLE
[value=searcharray[i]]