2014-04-22 64 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

相關問題