2016-06-14 8 views
0

は、私は、ユーザーが赤.btnを適用するタグを(作成した場合に基づいて、ブートストラップのボタンスタイル(.btn-主.btn-危険)を使用して、スタイル、個々のSELECT2タグにしようとしていますスタイル-DANGER)、またはユーザーが既存のタグを選択した場合(青.btnプライマリスタイルを適用することをスタイリング個々SELECT2タグ

私はselectイベント(SELECT2中にスタイルを適用しようとしました:。選択)イベント:

$("#ticker_select").on('select2:select', function(e) { 
     // If the e.params.data.id equals e.params.data.txt, 
     // then it is a user-created tag! 
     if (e.params.data.id == e.params.data.text) { 
      // User-created tag; Mark the tag red 
      $(".select2-selection__choice[title='" + e.params.data.text + "']").addClass('btn-danger'); 

     } 
     else { 
      // User-selected tag; Mark the tag blue 
      $(".select2-selection__choice[title='" + e.params.data.text + "']").addClass('btn-success'); 
     } 
    }); 

スタイリングはタグに適用されていますが、イベントが終了すると、select2はスタイルクラス参照を削除します。誰も私にselect2を削除せずにタグにスタイルを適用する方法を教えてもらえますか?どうもありがとう! IRCからの提案は、次のマニュアル&を読む

答えて

0

は、SELECT2でtemplateSelectionオプションがあります。私の場合、私はこれに似た何かをするでしょう:

function template(data, container) { 
    // If the ID and text properties are NOT equal, user didn't create tag 
    if (data.id != data.text) { 
     container.addClass("btn-primary"); 
    } 
    else container.addClass("btn-danger"); 

    return data.text; 
} 

$('select').select2({ 
    templateSelection: template 
}); 
関連する問題