2016-12-20 2 views
0

jsFIDDLEは3つのリンクを示します。 "Show Select options"リンクをクリックすると、すでに選択されている3つのオプションが表示されます。どのようにして/から選択したオプション(背景色を削除または追加する)から.activeクラスを削除または追加することはできますか?bootstrap-select:選択したオプションを見つけてクラスを削除または追加する方法

私は(開発者向けツールで)このパスを見ることができます:

html > body > div#searchSelect > div.btn-group.bootstrap-select.open > div.dropdown-menu.open > ul.dropdown-menu.inner > li.selected.active > a 

と私のようなすべてのさまざまな方法を使用してみてください:$("#searchSelect").find(".selected").removeClass('active'); $("#searchSelect").find(".selected").addClass('active');

を私が行うための方法を見つけることができませんこの。これは奇妙な例ですが、誰かが私を助けてくれることを願っています。

+0

あなたが達成するために必要なもの?もっと説明できますか? – Devansh

+0

デフォルト値を設定したあと、ajaxリクエストからselectを動的に生成すると、選択されたオプションに '.active'クラスを追加する必要があります。それは正常に表示されますが、セレクトのドロップダウンを表示するリンクの2回目のクリックに対してのみ表示されます。リフレッシュまたはレンダリングを再試行しましたが何も役に立たないので、このアクティブなクラスを手動で追加して、役立つかどうかを確認します。 – felixRo

答えて

1

あなたはそのように更新することができます。

$("#link").click(function(e) { 
     e.preventDefault(); 
    $("#searchSelect").show(); 

    //$("#idSelect").selectpicker("val", "Janet"); 

    setTimeout(function() { 
     $('#idSelect').selectpicker('toggle'); 
     }); 

    $("#searchSelect").find(".selected").removeClass('active'); 


    }); 

jsFIDDLE:https://jsfiddle.net/Devasnsh_Kumar/n1zz8kkw/44/

+0

助けてくれてありがとう、私は別のやり方でそれをやらなければならなかったが、この例ではうまくいきます。 addClass( 'active');は正しいので、コードを正しく動作させるためには適切な場所を見つけなければなりませんでした。 – felixRo

関連する問題