该主题仅针对 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 基本上只是一个包含两条数据和 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 的名称。