嗨我想知道是否有可以由其他代碼而不是由用戶觸發複選框的事件...jquery複選框更改事件
例如,
對於「選擇全部」複選框,它會自動切換也將「選擇」類切換行的背景色。
我試過「改變」和「點擊」,只有用戶觸發。
我註釋了一些代碼...順便說一句我想有很多複選框來切換某些類型的複選框,所以我想避免大量的「.closest('tr')。addClass('selected') ;」等等
嗨我想知道是否有可以由其他代碼而不是由用戶觸發複選框的事件...jquery複選框更改事件
例如,
對於「選擇全部」複選框,它會自動切換也將「選擇」類切換行的背景色。
我試過「改變」和「點擊」,只有用戶觸發。
我註釋了一些代碼...順便說一句我想有很多複選框來切換某些類型的複選框,所以我想避免大量的「.closest('tr')。addClass('selected') ;」等等
我不確定這是你需要什麼,但我想到的是,所有<tr>
必須更改爲通過選中「選擇所有」複選框。試試這個http://jsfiddle.net/DC3EH/5/
在或完整版本的某些行檢查未檢查的根據它們的屬性...所以最接近(」 tr')將被使用... –
該組是「Choose All」複選框的反轉版本...也是黃色的行着色被倒轉了... –
如果您綁定到更改事件,您可以觸發jQuery的單擊事件將選中複選框,並在轉火change事件:
$(document).ready(function(){
$('#check_all').click(function(event) {
$('[name^="checkbox"]').trigger("click");
});
$('[name^="checkbox"]').change(function(event) {
console.log('a');
if ($(this).is(":checked")) {
$(this).closest('tr').addClass('selected');
}
else {
$(this).closest('tr').removeClass('selected');
}
});
});
更新小提示:http://jsfiddle.net/DC3EH/19/
我切換到更改事件而不是click事件的原因是jQuery如何處理觸發事件。當您觸發點擊時,它會在您更改複選框的狀態之前調用您的事件處理程序。綁定到更改可確保您的事件不會在狀態更改後才被調用。
沒有一個複選框似乎在小提琴中工作... –
對於我來說在鉻和FF上工作得很好。 –
它似乎並沒有在IE8中工作。同樣在Chrome和FF中,「全選」複選框僅反轉當前選擇...應該打開或關閉所有其他複選框,具體取決於「全選」複選框狀態。 –
非常感謝,它非常有用 – Simcha