2016-06-30 7 views
1

に動的なネストされたドロップダウンリストを表示し、私は別の解決策を試してみましたが、私は右の作業必要なものを得るためにしないでください。データのマイリストはが</p> <p>..私はそう私と一緒に負担してくださいこれに新しいです、ブートストラップ

function showInsatserList() { 
    var promise = []; 
    promise = getSelectedSubareaInsatslist(); 
    promise.done(function (insatserlist) { 
     $('#dropdownmenu li').remove(); 
     for (var i in insatserlist) { 
      $('#dropdownmenu').append('<li class="dropdown-submenu"><a href="#">' + insatserlist[i].title + '</a> ' 
       + '<ul class="dropdown-menu"><li>HEJ</li></ul></li>'); 
     } 
    }); 
} 

このコードでJSONファイルから読み込まれた後、私はそれがこれを使用して表示します。..

$('.insatsDropdown').on('click', function (e) { 
    showInsatserList(); 
}); 

今の私のhtmlは

<div class="dropdown insatsDropdown"> 
     <a href="#" class="btn dropdown-toggle" data-toggle="dropdown">Välj insatser <span class="caret"></span></a> 
     <ul id="dropdownmenu" class="dropdown-menu"></ul> 
    </div> 
...このように見えます

私がしたいことは、ドロップダウンメニューからliのいずれかをクリックすると、現時点ではスウェーデン語の "HEJ"で単なるラウンドワードが入力されている下位のサブメニューのみが表示されることです。

問題が...私は内側にやることはないということです

$(document).on('click', '.dropdown-submenu', function (e) { 
    $(this).find('ul').toggle(); //not working 
}); 

..私は、標準的なクリックの方法を試してみましたが、動的なコンテンツに働くだろう唯一のものは、以下のコード行を使用してのようです本当に私のバイオリンはここにある何

切り替える:

https://jsfiddle.net/MissKalani/yvrL24Lv/9/

私は今そこに何をしたいかは...のためにということです例..私は、 "Volvo"のようなliの1つをクリックします。それは下にあるul要素を表示します。

私は別のアプローチにもオープンしています。私はul要素をクリックしても追加しようとしましたが、それはまだ私のためにどちらもうまくいきません。

+0

'.next()'ドックを読んだことがありますか?それは*兄弟*だけを選択し、ulはクリックされた李の兄弟ではなく、それは子供です。 [jQueryトラバーサルメソッドのリスト](https://api.jquery.com/category/traversing/)を参照してください。使用するメソッドを見つけられると確信しています... – nnnnnn

+0

フィディ?それが私たちを助けるだろう。私は、あなたがjqueryの '.first()'関数を見ているべきだと思います。 – pleinx

+0

私はjsondataを除いて幾分似たような方法で..フィドル..を設定しました。しかし、今私はそれを右に働かせるように見えません:(申し訳ありませんhttps://jsfiddle.net/MissKalani/y959b6jd/ – Kalani

答えて

0

ホバーにネストされたリストを表示するには、いくつかの余分なスタイル(下のコード)を追加する必要があります。 https://jsfiddle.net/yvrL24Lv/10/

.dropdown-submenu { 
    position: relative; 
} 

.dropdown-submenu>.dropdown-menu { 
    top: 0; 
    left: 100%; 
    margin-top: -6px; 
    margin-left: -1px; 
    -webkit-border-radius: 0 6px 6px 6px; 
    -moz-border-radius: 0 6px 6px; 
    border-radius: 0 6px 6px 6px; 
} 

.dropdown-submenu:hover>.dropdown-menu { 
    display: block; 
} 

.dropdown-submenu>a:after { 
    display: block; 
    content: " "; 
    float: right; 
    width: 0; 
    height: 0; 
    border-color: transparent; 
    border-style: solid; 
    border-width: 5px 0 5px 5px; 
    border-left-color: #ccc; 
    margin-top: 5px; 
    margin-right: -10px; 
} 

.dropdown-submenu:hover>a:after { 
    border-left-color: #fff; 
} 

.dropdown-submenu.pull-left { 
    float: none; 
} 

.dropdown-submenu.pull-left>.dropdown-menu { 
    left: -100%; 
    margin-left: 10px; 
    -webkit-border-radius: 6px 0 6px 6px; 
    -moz-border-radius: 6px 0 6px 6px; 
    border-radius: 6px 0 6px 6px; 
} 
+0

ああ、はい、ありがとうございました。今、欠けているのは、私がクリックしたかったのです。例えばボルボ..そしてそれは潜在的なサブメニューを表示するでしょう。それはそうしていませんatm :( – Kalani

+0

これは何ですかあなたは達成しようとしているのですか?https://jsfiddle.net/yvrL24Lv/10/ –

+0

はい、それは私が望んだものです!<3 Damn css!ugh!:)ありがとう。 D – Kalani