2010-06-24 59 views
3

我在文檔上有檢查按鈕。檢查多少個複選框

<input type="checkbox" id="CustmerRequested"/> 

我想知道在文檔中有多少個框被選中。

我試圖做alert(document.all.CustmerRequested.checked.length);但它說未定義。

我怎樣才能知道有多少盒子被檢查?

+0

'document.all'?你需要找到一個在1997年以後編寫的教程。這是一個IE4主題。 – Quentin 2010-06-24 21:22:16

回答

5

如果你開始構建需要這種網站的瀏覽器端編程,我建議看看jQuery。看到這裏的教程:http://docs.jquery.com/Tutorials

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#someButton").click(function() { 
      var checkedBoxes = $("#yourForm input:checked"); 
      alert(checkedBoxes.length + " checked."); 
     }); 
    }); 
</script> 
+0

+1:你打敗了我。 – Powerlord 2010-06-24 20:38:19

3

使用類似Prototype或JQuery的Javascript框架來查找需要檢查的元素,例如,在原型:

var inputs = $$('input'); 

這回則數組可以繞在計算中被選中的複選框,像這樣的輸入數量:

for (var i=0; i<inputs.length; i++){ 
    if (inputs[i].type == 'checkbox' && inputs[i].checked) { 
     numChecked++; 
    } 
} 
0

是的,你可以用JavaScript來做到這一點。不,你不需要jQuery。

這裏有一種方法:

function howManyAreChecked() 
{ 
one = document.getElementById("one").checked; 
two = document.getElementById("two").checked; 
three= document.getElementById("three").checked; 

var checkCount = 0; 
if (one == true) 
    { checkCount = checkCount + 1 } 
if (two == true) 
    { checkCount = checkCount + 1 } 
if (three == true) 
    { checkCount = checkCount + 1 } 

alert(checkCount); 
} 

上面的例子假設你已經在HTML中有3個複選框,與ID爲「一」,「二」和「三」。該腳本首先存儲「checked」屬性的值,可以是TRUE或FALSE。然後腳本查看每個不同的變量,如果爲TRUE,則遞增計數器。

相關問題