2012-10-26 39 views
0

我試圖實現一次檢查和取消選中網格視圖中所有複選框的功能。我創建了一個將用於一次檢查/取消選中網格視圖中的所有複選框

<input id="main-checkbox" type="checkbox" name="messages-checkall" value="all" checked="checked" onclick='checkedAll();'> 

的checkedAll()函數Implemeted一個檢查所有的複選框如下

<script type='text/javaScript'> 
    function checkedAll() { 
     var inputs = document.getElementsByTagName('input'); 
     var checkboxes = []; 
     if (document.getElementById('main-checkbox').checked === "checked") {check = false} else {check = true}; 
     for (var i = 0; i < inputs.length; i++) { 
      if (inputs[i].type == 'checkbox') { 
       inputs[i].checked = check; 
      } 
     } 
    } 
</script> 

,但是這是不工作的主複選框。

注 - 我無法創建一個包含所有複選框的表單,然後處理表單中的所有複選框。

請告訴你是否需要其他細節。

+0

您沒有ID和HTML的類型之間的空間。這只是一個錯字嗎? –

+0

@MichalKlouda,絕對不是。有相同的各種實現。我只是想知道這一次出了什麼問題。 – Srijan

+0

大寫的javaScript也只是一個錯字嗎?另外,你在哪裏聲明'檢查'變量? – jrajav

回答

3

變化

if (document.getElementById('main-checkbox').checked === "checked") {check = false} else {check = true}; 

var check = document.getElementById('main-checkbox').checked 
0
var objCheckBoxes = document.getElementById('containerId').getElementsByTagName('input'); 

var countCheckBoxes = objCheckBoxes.length; 
if(!countCheckBoxes) 
{ 
    objCheckBoxes.checked = true/false; 
} 
else 
{ 
    for(var i = 0; i < countCheckBoxes; i++) 
    { 
     objCheckBoxes[i].checked = true/false; 
    } 
} 

在HTML

<ul id="containerId"> 
<li><input type="checkbox" name="selected" value="Some text description 1"></li> 
<li><input type="checkbox" name="selected" value="Some text description 2"></li> 
</ul> 
相關問題