2017-10-30 6 views
0

私は状態を変更する必要があるが親のクリックイベントを呼び出さないチェックボックスを持っています。だから、私はこれを作成しました:jQueryの設定チェックボックスの状態デフォルトの動作を妨げた後

$("#[email protected](Model.TabNumber) tr input[type='checkbox']").on('click', function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    if($(this).is(':checked')) 
     $(this).prop('checked', false); 
    else 
     $(this).prop('checked', true); 
}); 

親のクリックは実行されていないので、それは良いですが、チェックボックスは状態を変更していません。どうして?

+0

'e.preventDefault();'はなぜですか – bassxzero

答えて

1

親のクリックイベントを停止するには、e.stopPropagation()を使用してください。他に必要なものはありません。

$("#[email protected](Model.TabNumber) tr input[type='checkbox']").on('click', function(e) { 
    e.stopPropagation(); 
}); 
関連する問題