2010-09-27 52 views
2

給定一個表格(id = "my_form"),我怎麼遍歷表格的所有複選框,如果給定一個檢查或檢查不,抓住它的名稱/值?JQuery的複選框環

我知道如何檢查一個複選框狀態給它的價值,但我需要循環,而不需要事先知道其中的複選框存在。謝謝。

回答

1

例子:http://jsfiddle.net/C6Kau/

$('#my_form :checkbox').each(function(){ 
    if(this.checked) { 
      alert('checked: ' + this.name + ' ' + this.value); 
    } else { 
      alert('Not checked: ' + this.name + ' ' + this.value); 
    } 
}); 
0

以下代碼將遍歷所有選中的複選框。

$(':checkbox', '#my_form').filter(':checked').each(function(){ 
    var name = $(this).val(); 
}); 
+1

類型錯誤:錯誤的對象有沒有方法 '每個' ......這是通過在()沒有返回這個引起的。 – AutoSponge 2010-09-27 13:01:09

+0

@AutoSponge:這是因爲* is()*根據選擇器測試集合並返回布爾值(true或false)。爲了這個答案的目的* filter()*應該用來代替* is()*。 – 2010-09-27 13:02:31

+1

@安迪E,謝謝你的指針 – 2010-09-27 13:06:52

0
var box, boxes = $('#myform :checkbox'), i = boxes.length; 

while (i--) { 
    box = boxes[i]; 
    if (box.checked) { 
     alert ("I'm checked"); 
    } else { 
     alert ("I'm not checked"); 
    } 
}