4つのチェックボックスがあり、それぞれが別々になってい<div>
ます。各divには、対応するクラスがあります(widthCol1-> widthCol4)。<td>
各divは、の1つ<tr>
の個別の内部にあり<table>
ます。選択したチェックボックスの組み合わせに応じて、テーブルの行を特定の色で着色する必要があります。
最初の2つのチェックボックスのみを考慮すると、チェックされている場合は行#ffaaaaに色を付け、チェックされてい.widthCol2 input
ない場合は#ccff99に色を付ける必要があります。また、チェックボックスが選択されていない(実装されていない)場合は、行#fffに色を付ける必要があります。
他の行で2番目のチェックボックスが選択されている場合、スクリプトは機能しません。なんで ?
$(".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つすべてに使用する必要があります。それらをテストするためのより良い、よりクリーンな方法もありますか?