2016-09-07 141 views
2

當前select2只在用戶開始輸入時才加載數據。我想用一些默認值預先加載下拉列表,所以一旦用戶點擊下拉列表中已經有一些值可供選擇..我已經看過文檔,但找不到任何東西。有沒有人知道是否有解決方法或我可以做的事情來實現這一點。Select2預加載數據

謝謝

編輯:

$('#search-paint').select2({ 
       placeholder: "Search By:Manufacturer, Color Name, Color Code", 
       ajax: { 
        url: "/item/searchPaint", 
        dataType: "json", 
        delay: 250, 
        data: function (params) { 
         return { 
          q: params.term, 
          SprayType: $('#spray-type').val(), 
          page: params.page 
         }; 
        }, 
        processResults: function (data, params) { 
         params.page = params.page || 1; 
         return { 
          results: data.items.data, 
          pagination: { 
           more: (data.items.current_page * data.items.per_page) < data.items.total 
          } 
         }; 
        }, 
        cache: true 
       }, 
       escapeMarkup: function (markup) { 
        return markup; 
       }, 
       minimumInputLength: 1, 
       templateResult: formatRepo, 
       templateSelection: formatRepoSelection 
      }); 

我試着使用data設定預加載數據,但只加載第一目的,是調用選擇方法。我也試過initSelection,但後來我發現它與我試圖達到的目的不同。

+0

哪裏是你的代碼?你試過什麼了? – Dekel

+0

嗨,我已經添加了一些代碼和更多的信息 – Vilius

+0

在應用select2之前,你可以簡單地在你的選擇中有'option'標籤 –

回答

-1

你可以做這樣的事情

var data = []; 
$('#search-paint').select2({ 
    data:data, 
    escapeMarkup: function (markup) { 
     return markup; 
    }, 
    minimumInputLength: 1, 
    templateResult: formatRepo, 
    templateSelection: formatRepoSelection 
}); 
$.getJSON('/item/searchPaint',function(response){ 
    data=response; 
    $('#search-paint').select2('refresh'); 
});