私は2つのjquery関数を書きました。行 1 ~ 11 は、mousedown で mouseover イベントをバインドして、クリックとドラッグの効果を得て td を選択する最初の行です (内部的にチェックボックスをチェック/チェック解除します)。
2 番目の機能 (12-20) は、単一の td をクリックおよびクリック解除して、チェックボックスをオンおよびオフにすることです。マウスダウンを実行して複数の td を選択することはできますが、単一の td をクリックしてクリックを解除することはできません。どこに問題があるのか わかりませんか?どんな提案でも大歓迎です。
コードは次のとおりです。
$("#tbl td").mousedown(function() {
$("#tbl td").bind('mouseover', function() {
var checkbox = $(':checkbox', this)[0];
$(this).css({
'background': (checkbox.checked ? 'white' : '#6D7B8D')
});
checkbox.checked = !checkbox.checked;
});
$(this).mouseover();
}).mouseup(function(event) {
$("#td").unbind('mouseover');
event.preventDefault();
event.stopPropagation();
});
$('#tbl td').click(function(e) {
if ($(this).find('input:checkbox').is(':checked')) {
$(this).find('input:checkbox').attr("checked", "");
$(this).css({
background: "white"
});
} else {
$(this).find('input:checkbox').attr("checked", "checked");
$(this).css({
background: "#6D7B8D"
});
}
});
ありがとう