Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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 - Fatal编程技术网

Javascript 在数组中循环以启用复选框

Javascript 在数组中循环以启用复选框,javascript,jquery,Javascript,Jquery,我有一组复选框和一个数组,其中包含应选择哪些复选框的索引。我试图循环遍历数组,并对其中的每个索引执行循环。我制作了一个JSFIDLE示例,让你们知道我在做什么。我也有JQuery库,如果这能让事情变得更简单的话 试试这个: var arrx=new Array(); arrx[0]=4; arrx[1]=5; arrx[2]=3; arrx[3]=1; for (var i = 0; i < arrx.length; i++) { document.getElemen

我有一组复选框和一个数组,其中包含应选择哪些复选框的索引。我试图循环遍历数组,并对其中的每个索引执行循环。我制作了一个JSFIDLE示例,让你们知道我在做什么。我也有JQuery库,如果这能让事情变得更简单的话

试试这个:

var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
for (var i = 0; i < arrx.length; i++) {
    document.getElementsByName('cal')[arrx[i]].checked = true;
}
​
var arrx=new Array();
arrx[0]=4;
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
对于(变量i=0;i
不需要jQuery

var arrx=new Array();
arrx[0]=4;
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
var calArray=document.getElementsByName(“cal”);
对于(变量i=0;i
如果您坚持使用jQuery:

var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
var i = 0;
$('[name=cal]').each(function() { 
    if ($.inArray(i, arrx) != -1) {
        $(this).prop('checked',true);
    }
    i++;
});

如果您愿意使用jQuery,它可以很容易地根据输入的名称进行操作:

jQuery('[name=“cal”]')。每个(函数(i){jQuery(this.attr('checked','checked');})

但是,如果您的目标不一定要选择所有选项,您可以使用以下方法:

jQuery('[name$=“_c”]')。每个(函数(i){jQuery(this.attr('checked','checked');})

它只检查名称末尾带有_c的输入


使用
.setAttribute('checked',true)
比使用
更好。checked=true
@j08691 DOM对象有一个抽象层,基本上用于隐藏内部。使用
.checked
您使用的是一个公开值,该值可能在将来更改。然而,这里的setter是抽象层,允许浏览器在将来改进/更改对象而不破坏代码。
var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
var i = 0;
$('[name=cal]').each(function() { 
    if ($.inArray(i, arrx) != -1) {
        $(this).prop('checked',true);
    }
    i++;
});