循环遍历数组以启用复选框

我有一组复选框和一个数组,其中包含应选择复选框的索引。 我正在尝试遍历数组并为其中的每个索引。 我做了一个样本jsFiddle,让你们知道我正在做什么。 如果这样可以让事情变得更容易,我也有JQuery库。 http://jsfiddle.net/7EetA/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示例

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

如果你坚持使用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”]’)。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/