2016-09-20 5 views
0

私はselect2データ項目にテキストプロパティを追加して検索できるようにしたいと考えています。例えば2つのプロパティでselect2を検索

私はこのデータを持っている:

var data : 
[ 
    { id : 1, text : 'Item 1', description : 'Long text description for item 1' }, 
    { id : 2, text : 'Item 2', description : 'Long text description for item 2' }, 
    { id : 3, text : 'Item 3', description : 'Long text description for item 3' }, 
] 

私はSELECT2は私が入力中descriptionプロパティの値と一致するテキストを入力する場合に生じる見つけることができるようにしたいです。

できますか?

ありがとうございます。

+0

Selectセレクトは、基礎となる選択のための有効なHTMLマークアップで動作するようにそれを使用することです。 selectには値と説明しかないので、どこにテキスト情報を格納しますか? –

+0

私は分かりません。おそらく 'data-description'属性の – T00rk

+0

にあります。プラグインの独自のバージョンも書く必要があります。 selectのマークアップからdata- *アトリビュートを設定するバージョン、およびカスタム検索オプションのhtml vesionです。この機能は現在サポートされていません。私は標準的な選択のための基本的な検索オプションの良い答えを見たが、それは削除されている –

答えて

0

ソリューションは、カスタム照合を作成し、この

$('.select2-typeahead').select2 
({ 
    data : 
    [ 
     { id : 1, text : 'Item 1', description : 'Long text description for item 1' }, 
     { id : 2, text : 'Item 2', description : 'Long text description for item 2' }, 
     { id : 3, text : 'Item 3', description : 'Long text description for item 3' }, 
    ], 
    matcher : function(params, data, item) 
    { 
     if ($.trim(params) === '') 
     { 
      return data; 
     } 

     if(data.toLowerCase().indexOf(params.toLowerCase()) > -1 || item.description.toLowerCase().indexOf(params.toLowerCase()) > -1) 
     { 
      return data; 
     } 

     return null; 
    } 
関連する問題