2014-04-22 39 views
0

我的复选框不想通过ID来检查,​​它只允许通过名称来检查它。这里是代码:为什么不能通过编号检查我的复选框

function selectAll(){ 
    var checkboxes = document.getElementsByName('id'); 
    var button = document.getElementById('toggle'); 
    if(button.value == ''){ 
     for (var i in checkboxes){ 
      checkboxes[i].checked = 'FALSE'; 
     } 
     button.value = 'X' 
    } else { 
     for (var i in checkboxes){ 
      checkboxes[i].checked = ''; 
     } 
     button.value = ''; 
    } 
} 

为什么不能通过ID检查我的复选框?

+0

你可以用'如果(button.value)'代替'如果(button.value!='')'。并且请注意,使用'for..in'循环来迭代'NodeList'是一个坏主意(请参阅[如何正确执行])(https://developer.mozilla.org/en-US/docs/Web/ API /节点列表#实施例))。 – Oriol

+0

'document.getElementsByName('id');'将得到'name =“id”'的所有元素。那真的是你想要的吗?另外,你不应该使用'for ... in'来遍历'NodeList'。 –

+0

那么,什么是为你工作,什么不是? –

回答

2

使用truefalse,不'''FALSE'

checkboxes[i].checked = false; 

也确保你有一个复选框id为您寻找

+0

不,那不是它.... :) –

+0

你想检查或取消选中?如果检查设置为“true” – hunter

+0

验证“checkboxes.length> 0” – hunter

相关问题