1

asp.net ツリー ビュー コントロールを使用しています。親がチェックされている場合、jQueryを使用して、対応するすべての子チェックボックスを選択します。動作中の jQuery とレンダリングされた HTML は、このJS Fiddleにあります

チェックボックスを選択するjQuery:

  $('.tree').on('change', ':checkbox', function () {
         var checked = this.checked;
         var $elem = $(this).closest('table');
         var depth = $elem.find('div').length;
         var $childs = $elem.nextAll('table');
         $childs.each(function () {
             var $child = $(this);
             var d = $child.find('div').length;
             if (d <= depth) {
                 return false;
             }

             $child.find(':checkbox').prop('checked', checked);
         });
     });

しかし、子アイテムの1つがチェックされているときに親ノードの選択を解除する方法がわかりません。

4

2 に答える 2

0

これは私が今まで見た中で最も奇妙な構造の1つです。とにかく、ここにあなたの解決策があります http://jsfiddle.net/Gak2h/6/ すべての要素がチェックされていないときにチェックを外したい場合の変更

$this.prop('checked', nbOfCheckeds == 0);
于 2013-06-18T15:22:32.157 に答える