0
テーブルの行にチェックボックスがあります。チェックボックスがクリックされていない限り、jQueryを使用して行の色を変更します。
<table cellpadding="0" class="action_table">
<tbody class="action_table_body">
<tr class="action_table_row">
<td class="action_table_checkbox"><input type="checkbox" id="chkbx_1"></td>
<td class="action_table_checkbox"><input type="checkbox" id="chkbx_2"></td>
</tr>
</tbody>
</table>
mouseoverイベントで行の色を切り替えています。
$(".action_table_row").mouseenter(function() {
$(this).css({background:'#FCF6CF'});
}).mouseleave(function() {
$(this).css({background:'#F3F3F3'});
});
私もチェックされている行をハイライト表示したい:
$('input:checkbox').click(function() {
if ($(this).attr('checked')) {
$(this).parent().parent().css({background:'#ff0000'});
} else {
$(this).parent().parent().css({background:'#F3F3F3'});
});
});
問題はときに、これらの2つの相互作用です。私は行がチェックされている場合、マウスの/ mouseleaveをオーバーライドして強調表示を維持したい。
私はこれを試しましたが、チェックされたチェックボックスで特定の行の代わりにすべての行/チェックボックスを操作しているようです。
$(".action_table_row").mouseenter(function() {
if ($(this + ':checkbox').attr('checked') == false) {
$(this).css({background:'#FCF6CF'});
}
}).mouseleave(function() {
if ($(this + ':checkbox').attr('checked') == false) {
$(this).css({background:'#F3F3F3'});
}
});
行のチェックボックスをクリックすると、CSSが変更されないようにするにはどうすればよいですか?
興味深い。私はこのアプローチが好きです。私はそれが動作するようになっていないよ。私はチェックし、 'チェックされた'クラスが確実に接続されています(「action_table_rowチェック」)が、マウスセンター/休暇はとにかく起動しています。 –
うまくいくはずですが、/。しかし、私は 'mouseover'の中に小切手を入れました。また、bkの色をどのように混ぜることができるかを示します( 'if'と'を削除してください):http://jsfiddle.net/Byvrb/2/ – jgauffin
素晴らしい、ありがとう! –