2009-11-03 81 views
0

我正在通過函數each()在同一個類中循環多個複選框,在循環內我需要能夠判斷複選框是否被選中。怎麼做?是否勾選複選框(在每個()循環中)?

$('.checkbox').each(function() { 
    var is_checked = 'no'; 
    // I need to change the value of the is_checked variable to 'yes' 
    // if the checkbox is checked 
    // 
}); 

回答

5

使用

var is_checked = this.checked ? 'yes' : 'no'; 
4

一種方法是:

$('#yourcheckbox').is(':checked'); 
+0

這是真的,但是比只說'this.checked'更難閱讀和更慢。您不必爲所做的每件事情都使用jQuery語法,DOM仍然存在。 – bobince 2009-11-03 22:28:38

+0

當然,我試圖將它保存在他已有的jquery代碼中,但你說得對。這個.checked可能更快,更簡單。 – 2009-11-05 08:59:03

3

爲什麼不改用:checkbox:checked選擇?這樣您可以獲得所有選中的複選框的列表並對這些複選框進行迭代。

1

這將讓所有選中複選框

$("input:not(:checked)") 
1

相信$(this).val()會給你 「真」 如果選中,然後$(this).val("true")將設定值

2
$("input:checkbox[class='.checkbox']:checked").each(function() { 
// this will only loop thru checked boxes (checked = true) 
} 

OR

$('.checkbox').each(function() {  
// or return a boolean for each one 
var is_checked = $(this).is(":checked"); 
});