日期:2014-05-16  浏览次数:20455 次

<求助>根据数组的值,改变checkbox的checked状态。
有一个数组,var test={2,3,4,5,6};

test数组里的每个值都对应checkbox控件的value,现在需要遍历这些值来改变checkbox的checked状态。

谢谢! 问题也可以使用用jquery。

我这里已经写的:
var items= document.getElementsByName("nowchk");
for(var e in test)

  items(test[e]).checked=true;
 }
但是我这边写的有些问题,所以请教大家改怎么写?


<td>
  <input name="nowchk" id="Checkbox1" type="checkbox" value="1" />1点
</td>
<td>
  <input name="nowchk" id="Checkbox4" type="checkbox" value="2" />2点
</td>
<td>
  <input name="nowchk" id="Checkbox5" type="checkbox" value="3" />3点
</td>
<td>
  <input name="nowchk" id="Checkbox6" type="checkbox" value="4" />4点
</td>
<td>
  <input name="nowchk" id="Checkbox7" type="checkbox" value="5" />5点
</td>

------解决方案--------------------
$("input[name=nowchk]").each(function(){
for(var i=0; i<test.length;i++){
if($(this).val() == test[i]){
$(this).attr("checked",true); 
break;
}
}
});
------解决方案--------------------
function init(){
var test=[2,3,4,5,6];
var c=document.getElementsByName("nowchk");
for(var i in test){
for(var j=0;j<c.length;j++){
if(c[j].value==test[i]){
c[j].checked=true;
}
}
}
}
window.onload=init;
不很明白你的意思 不过貌似数组的定义不对啊
------解决方案--------------------
定义数组应该像这样var test = [2, 3, 4, 5];