2012-02-01 84 views
1

我有一個表,每行包含一個複選框以及一些其他單元格。爲了使整個行可點擊,以便它可以被用來切換我用這段代碼的複選框的狀態:jQuery切換複選框狀態

$('#eoiTable tr').click(function(){ 
    var $checkbox = $(this).find('input[type=checkbox]'); 
    $checkbox.prop('checked', !$checkbox.is(':checked')); 
    }); 

,當我直接點擊這個偉大的工程爲行,除了在所有細胞複選框本身。它重新切換到舊的狀態。我可以理解這裏發生了什麼,但是如何確保當您單擊複選框本身時表格onclick事件不起作用?

謝謝!

回答

2

嘗試添加的東西冒泡

$('#eoiTable tr input[type="checkbox"]').click(function(e) { 
    e.stopPropagation(); 
}); 

編輯停止事件:有錯誤的類型

+0

作品!非常感謝。 – Prakhar 2012-02-01 07:01:27

0

您選擇包含複選框,也是表的行。因此,爲了避免表onclick事件滅火時複選框被選中排除它從選擇像

$('#eoiTable tr + #eoiTable tr input:not("[type=checkbox]")') 

不知道這一點,但試試這個方法