2012-05-11 45 views
1
var days = ['daily', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']; 

這些是我的複選框。每個複選框都有唯一的ID。 backup_freq_daily,backup_freq_monday等。每當我點擊每天,或週一或週四或週四等,我需要做一些操作。如何通過一組複選框循環使用

$('#bm_freq_daily,#bm_freq_mon,#bm_freq_tues,#bm_freq_weds,#bm_freq_thur,#bm_freq_fri,#bm_freq_sat,#bm_freq_sun').click(some_operation); 

insted這個我該怎麼寫for循環?

for (var dx = 0; dx < days.length; dx ++) { 
    $("#bm_freq_daily").click(some_operation); 
} 

這是不行的,我只是想遍歷所有天[]當過用戶clcik複選框i循環數組,並發現點擊其ID。
謝謝

+2

分配'class'到複選框,並使用'。每()'你可以通過它們循環。 – Bongs

+1

+1 @歌曲。 OP也可以在'id = daycheckboxes'的範圍內添加他所有的複選框,然後選擇'$(「#daycheckboxes input [type ='checkbox']」)''或其等價的'$(「#daycheckboxes:checkbox」) 「@tibo回答。選擇器較大,但不需要手動向每個框添加一個類。我想一個班可能會有更好的表現。 –

回答

1

使用Find.You標記jquery,所以我嘗試把一個樣本在jquery中。

var Days= $('#divDays').find('input.YourDayClass:checked'); 
        $.each(Days, function(index, item) { 
         if ($(this).attr("checked")) { 
          //What You try to Do 
         } 
        }); 

我認爲樣本可以幫助您。

1

您可以使用.each()方法遍歷它,方法是在複選框中添加一個css類。

像這樣

$('.yourCheckboxClass:checked').each(function(index, Elem) 
{ 
    if($(this).id=="something") 
    { //then do something 
    } 
}); 
1
$('#yourParent :checkbox').each(function(){ 
    $(this).click(some_operation); 
});