2016-11-02 127 views
0

我使用select2與ajax search.How設置某些選項無法被選中。 例如,像下面 enter image description hereselect2標籤支持,如何禁止選項成爲標籤?

圖像I寫在輸入一個「W」,但在下降的第一行向下不是數據來自AJAX搜索。如何設置它無法選擇或不顯示它?

HTML代碼

<select id="normalSymptom" name="normalSymptom" class="form-control select2-multiple" multiple > </select> 

JavaScript代碼

$('#normalSymptom').select2({ 
    tags: true, 
    multiple: true, 
    tokenSeparators: [','], 
    minimumInputLength: 1, 
    minimumResultsForSearch: 10, 
    ajax: { 
     url: "/DiseaseSearch/symptomSearch", 
     dataType: "json", 
     type: "GET", 
     data: function (params) { 
      var queryParameters = { 
       word: params.term 
      } 
      return queryParameters; 
     }, 
     processResults: function (data) { 
      return { 
       results: $.map(data, function (item) { 
        return { 
         text: item.name, 
         id: item.id 
        } 
       }) 
      }; 
     } 
    } 

}); 
+0

請提供您的js代碼 –

+0

謝謝,這裏是代碼 –

+0

這個**白色**標籤是來自ajax嗎? –

回答

1

默認情況下,您可以創建新標籤。

要禁用標籤創建,請提供createTag選項。該選項是一個功能,用於指示給定標籤是否允許。在你的情況,你要允許創建沒有標籤,那麼返回null,例如,

$('#normalSymptom').select2({ 
    tags: true, 
    multiple: true, 
    createTag: function (params) { 
    return null; 
    }, 
    // etc. 
}); 

See JS Fiddle

+0

太棒了!謝謝 –

0

我不在身邊使用選擇2一會兒打,但我相信這是插件的預期行爲。 這就是說,你應該能夠找到具有'w'的元素的id/class,並將其設置爲display: none;,這對我來說已經適用了。

0

試試這個

$('select').select2({tags:false}); 
+0

這只是一個選項,如果他們不想要標籤,它看起來像他們,基於設置標籤爲true:/ –

+0

哦,實際上,我需要'''標籤:ture''',但我只是不要我輸入的第一行顯示出來 –