2016-06-15 10 views
0

私は要件を次している:複数選択、階層のドロップダウン

  1. はダウン階層(親子関係)に基づいて、ドロップを表示します。

  2. すべてのノードがチェックできるはずです(すべてのオプションのチェックボックス)

  3. 我々はすべての子ノードを選択した場合、親は、自動的に 、またはその逆をチェックする必要があります。

    例えば

:利用可能なプラグインがあるかどう

[Checkbox]Element 1 
     [Checkbox]Element 1.1 
     [Checkbox]Element 1.2 
      [Checkbox]Element 1.2.1 
      [Checkbox]Element 1.2.2 
[Checkbox]Element 2 
     [Checkbox]Element 2.1 
     [Checkbox]Element 2.2 
      [Checkbox]Element 2.2.1 
      [Checkbox]Element 2.2.2 

親切に任意の解決策を提案するか: ドロップダウンインサイド私はこのような何かをしたいです。階層は、今後さらに4〜5レベルになる可能性があります。

ありがとうございます。

答えて

1

ダミーコードを作成しました。それがあなたを助けることを願っています。

Htmlの -

<div class="parent"> 
    <input type="checkbox">1 
    <div> 
    <input type="checkbox">1.1 
    <input type="checkbox">1.2 
    <div> 
     <input type="checkbox">1.2.1 
     <div> 
     <input type="checkbox">1.2.1.1 
     <input type="checkbox">1.2.1.2 
     <input type="checkbox">1.2.1.3 
     </div> 
     <input type="checkbox">1.2.2 
    </div> 
    </div> 
    <input type="checkbox">2 
    <div> 
    <input type="checkbox">2.1 
    <input type="checkbox">2.2 
    </div> 
</div> 

jqueryの - ドロップダウンの下https://jsfiddle.net/dhananjaymane11/w0trj615/1/

良い
+0

私は今日同じことを実装していました。私はそれが自分自身を作成するための最良の方法だと思う。ありがとう:) –

0

あなたは私があなたのような似たようなケースのためにそれを使用 Bootstrap Treeview

このプラグインを試すことができます。

+0

ではなく -

$('input').change(function(){ var status = false; $(this).next().find('input').prop('checked', this.checked); status = ($(this).parent().find('> input').not(':checked').length === 0); $(this).parent().prev().prop('checked', status); if(status){ $(this).parent().prev().trigger("change"); } else{ $(this).parents().prev().prop('checked', false); } }); 

あなたはデモを参照することができます。チェックボックスも木の下にあり、それは素晴らしいですが、私はこれを含むドロップダウンが必要です。 –

+0

このような意味ですか? https://s31.postimg.org/7hgx3xm8b/Capture.png –

関連する問題