このjsFiddleには、最初の列にチェックボックスがあるテーブルがあります。テーブル ヘッダーのマスター チェックボックスは期待どおりに機能し、クリックするとテーブル内のすべてのチェックボックスの状態が切り替わります。
Shift+のホットキーを設定してX、マスター チェックボックスを切り替えます。ホットキーを使用した場合の望ましい動作は次のとおりです。
- マスターチェックボックスが切り替えられます
- 子チェックボックスはそれぞれ、マスターと一致するようにチェック状態が設定されています
しかし、実際に起こっていることは逆です...
- 子チェックボックスはそれぞれ、マスターと一致するようにチェック状態が設定されています
- マスターチェックボックスが切り替えられます
ここに関連するコードがあります
$(".master-select").click(function(){
$(this).closest("table").find("tbody .row-select").prop('checked', this.checked);
});
function tickAllCheckboxes() {
var master = $(".master-select").click();
}
//using jquery.hotkeys.js to assign hotkey
$(document).bind('keydown', 'shift+x', tickAllCheckboxes);
これにより、マスター チェックボックスとは逆のチェック状態の子チェックボックスが作成されます。なぜそれが起こっているのですか?修正があればいいのですが、何が起こっているのかを理解できるように、私は本当に説明を求めています。