2012-05-24 26 views
6

Birkaç onay kutusu ve onay kutusunun en az 1 tanesinin işaretli olup olmadığını belirten bir durum kutunuz var.jQuery onay kutusundaki güncelleme onay kutusunu değiştirme olayını tetiklemiyor

Ayrıca, onay kutularını değiştirmeye çalışan bir onay Tümü/Hiçbiri onay kutusu var, ancak onay kutularının her birine atanan değişiklik olayını tetiklemiyor, böylece All/None onay kutusunun işaretlenmesi durumunda durumun hiçbir zaman güncellenmemesi sağlanıyor. . Bir komut dosyası aracılığıyla bir giriş elemanına yapılacak değişiklikler onchange olayı tetiklemek OLMAYACAKTIR

http://jsfiddle.net/axl163/Fckvd/1/

cevap

13
function toggleChecked(status) { 
    $(".chkbx").each(function() { 
     $(this).prop("checked", status).change(); // you have to trigger the event 
    }); 
} 

DEMO

+0

Ah! Yardım için teşekkürler! –

+0

Evet Biliyorum =) Maalesef, cevapları kabul etmeden önce beklemem gereken 10 dakikalık bir limit var. –

+1

@AllenLiu Bu talihsiz bir şey değil .. temelde diğer cevapları gözden geçirmek için biraz zaman vermek .. ve sadece 10 dakikadır :) –

5

:

İşte benim uygulamasıdır. Alternatif

aşağıda gibi değişen girişi güncellemesi yaparken change() tetikleyebilir,

$(this).prop("checked", status).change(); 

Tam kodu:

function toggleChecked(status) { 
    $(".chkbx").each(function() { 
     $(this).prop("checked", status).change(); 
    }); 
} 

Ayrıca yerine .prop kullanmak .attr

DEMO

+0

Çözüm için teşekkürler =) –

İlgili konular