循环访问数组以启用复选框

时间:2012-07-12 19:37:56

标签: javascript jquery

我有一组复选框和一个包含应该选中复选框的索引的数组。我正在尝试遍历数组并为其中的每个索引。我做了一个样本jsFiddle给你们一个我想要做的事情的想法。如果这样可以让事情变得更容易,我也有JQuery库。 http://jsfiddle.net/7EetA/1/

4 个答案:

答案 0 :(得分:1)

试试这个:

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;
}
​

不需要jQuery!的 jsFiddle example

答案 1 :(得分:1)

var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;

var calArray = document.getElementsByName("cal");
for (var i = 0; i < arrx.length; i++) {
    calArray[arrx[i]].checked = true;
}

答案 2 :(得分:0)

如果你坚持使用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++;
});

Working example

答案 3 :(得分:0)

如果您愿意使用jQuery,它可以根据输入的名称轻松完成:

jQuery('[name =“cal”]')。each(function(i){jQuery(this).attr('checked','checked');});

但是,如果您的目标不一定是选择所有这些目标,那么您可以使用以下内容:

jQuery('[name $ =“_ c”]')。each(function(i){jQuery(this).attr('checked','checked');});

仅在名称末尾用_c检查输入。

http://jsfiddle.net/7EetA/9/