我有 4 个复选框,每个复选框都在一个单独的<div>
. 每个 div 都有一个对应的类(widthCol1 -> widthCol4)。每个 div 都在一个单独<td>
的<tr>
a 中<table>
。根据选择的复选框组合,我需要用特定颜色为表格的行着色。
仅考虑前 2 个复选框,它应该在选中时为 #ffaaaa 行着色,在.widthCol2 input
未选中时为 #ccff99 着色。如果没有选中复选框(未实现),它还应该为行 #fff 着色。
如果在另一行中选中了第二个复选框,则该脚本不起作用。为什么 ?
$(".widthCol1 input").click(function () {
if ($(this).is(":checked")) {
if ($(".widthCol2 input").is(":checked")) {
$(this).closest("tr").css("background-color", "#ffaaaa");
} else {
$(this).closest("tr").css("background-color", "#ccff99");
}
} else {
// test other checkboxes before coloring #fff
}
});
该脚本必须用于所有 4。是否还有更好、更清洁的方法来测试它们?