このトピックは、1 つのチェックボックスのみについて詳しく説明されています。私の問題は、赤または白のチェックボックスが少なくとも 1 つチェックされている場合、テーブルの行を強調表示する必要があることです。したがって、何もチェックされていない場合は赤を強調表示しますが、少なくとも 1 つがチェックされている場合は白を強調表示します。私はこのコードを持っています:
$("input:checkbox").live("change", function (event) {
$("tr checkbox").each(function () {
if ($(this).attr('checked')) {
$(this).closest('tr').addClass('white');
} else {
$(this).closest('tr').removeClass('white');
}
});
});
html は基本的に、2 つのデータと 7 つのチェックボックスを含むテーブル行です。何もチェックされていない場合は赤で強調表示されますが、少なくとも 1 つがチェックされている場合は白で強調表示されます。
前もって感謝します。
編集:
.live() から .on() にスワップしたため、ティックボックスが動的にロードされていることがわかりました。関数を非動的要素にバインドする必要がありました。これは、最後に使用したコードです。
$("#emaillistbox").on("change","input:checkbox", function (event) {
var $tr = $(this).closest("tr");
if($tr.find("input:checked").length > 0)
{
$tr.removeClass('red').addClass('white');
}else {
$tr.removeClass('white').addClass('red');
}
});
emaillistbox
動的コンテンツがロードされる div の名前です。