これが私の問題の JSFiddleです。
これにはJQuery 2.0.2を使用していることに注意してください。
JQuery チェックボックス ツリー プラグインを使用しています。手動で 内Subgroup B2
のすべての要素をクリックSubgroup B2
すると、チェックもオンになります。逆に、子の 1 つを手動でオフにSubgroup B2
すると、「部分選択」状態になり、すべての子のチェックを外すと完全にオフになりSubgroup B2
ます。これはうまく機能し、意図したとおりです。
ただし、上部のボタンに注意してください。
これらのクリック イベントをコードでトリガーしようとしています。
最初のボタンは、ラベルのクリック イベントを発生させます (これは、ボックス/テキストを手動でクリックしたときにクリックされるものです)。お気づきのとおり、すべてのボックスがチェックされていますが、Subgroup B2
部分的にしか選択されていません。
ボタンをもう一度クリックすると、チェックボックスが再びオフになりますが、そうではありません。それがボタン2の目的です。何らかの理由でボタンのチェックを外すには、チェックボックスをチェックするのに必要な要素とは別の要素をクリックする必要があります。これは私には意味がありません。
最後に、インタラクション (実際のクリックとコード化されたクリック) を混在させると、事態はさらにバラバラになります。
私はこれに何時間も取り組んできましたが、インタラクションに問題が発生するたびに、チェックボックスが原因でした。
チェックボックスがコード化されたクリックを手動のクリックと同じように尊重するようにするにはどうすればよいですか?