ページに 10 個のアイテムがリストされており、各アイテムの横にチェックボックスがあります。各アイテム間の依存関係を表すツールを作成したいと考えています。
例: アイテム 2、3、および 4 が機能するには、アイテム 1 が必要です。項目 2、4、および 5 が機能するには、項目 3 が必要です。項目 1 だけの横にあるチェックボックスをクリックすると、項目 1、2、3、および 4 のテキストの色をデフォルトの緑から赤に変更したいと思います (前提条件のデータ項目が変更されたため、現在は機能しないことを示しています)。がチェックされます)。項目 3 だけの横にあるチェックボックスをクリックすると、項目 2、3、4、および 5 のテキストの色を赤に変更し、項目 1 は緑のままにしたいと思います。
アイテム 1 が既にチェックされていると仮定し、次にアイテム 3 をチェックします。アイテム 1 から 4 までを赤のままにして、アイテム 5 も赤くします。この時点で項目 1 のチェックを外すと、項目 2、3、4、および 5 も項目 3 のチェックボックスに依存するため、項目 1 のみが緑色になるはずです。緑になり、残りは赤のままです。
JQuery で toggleClass 関数を使用してみましたが、望ましい結果が得られませんでした。JQueryでこれを達成する最良の方法は何ですか?
試行されたトグル コード:
$('#item1').click(function(){
var item = this.checked;
$('#item1, #item2, #item3, #item4').toggleClass('green', !item).toggleClass('red', item);
});
$('#item3').click(function(){
var item = this.checked;
$('#item5, #item2, #item3, #item4').toggleClass('green', !item).toggleClass('red', item);
});
このコードは最初は機能しましたが、ある項目が既にチェックされていて、別の項目がチェックされてから削除された場合、正しい結果が表示されませんでした。