2013-02-07 135 views
16

我需要允許用戶在select中選擇只允許使用的標籤。javascript select2允許標籤

目前我有:

$("input#id_txtcolor").select2({tags:["red", "green", "blue"]}); 

你能幫我請嗎?

+0

來自文檔:「請注意,當啓用標記時,用戶可以從預先存在的標記中進行選擇,或者通過選擇用戶迄今在搜索框中鍵入的第一個選項來創建新標記。」所以我想你可能會運氣不好......但是你有沒有嘗試將'maximumInputLength'設置爲0,這可能會阻止用戶輸入新標籤? – jaudette

回答

31

從3.3開始,您可以在使用總是返回null的標籤時指定自己的createSearchChoice,從而防止創建默認選項。

$().select2({ 
    createSearchChoice: function() { return null; }, 
    tags:... 
}); 
+3

@reverbnation答案是更好的,這在技術上有效,但更多的是黑客,然後使用正確的行爲 – Stefan

+1

@Stefan,是的,沒有理由這樣做,當你可以使它成爲一個多選擇輸入。 – DiscoInfiltrator

+0

如果您使用Yii Framework - Yii輪 - WhSelect2,這是更好的方法來禁用用戶定製標記。當您預先填寫'數據'屬性時。 謝謝。 –

16

有時候我們開發不使用我們的第七某種意義上說是常識也正好與我2小時,然後掙扎着它點擊我的感覺.. 如果你希望用戶選擇只允許值,那麼它沒有更多標記選擇所以只是刪除tags:true選項並保持mulitple屬性中選擇,直接在選擇元件提供的選項或加載遠程數據。

+2

這是正確的答案! – Stefan

+0

確實不錯! – bluppfisk