2013-09-28 96 views
6

如何用select2更改數據佔位符?如何在select2中更改佔位符?

到目前爲止,我已經嘗試過。

$("#city").select2({placeholder:"foo"}); 

這...

$("#city").attr("data-placeholder","bar"); 

但無論是作品。

+2

它應該工作。請參見小提琴http://jsfiddle.net/JZQ3Q/請repplicate您的問題在這個小提琴。 – PSL

回答

7

我發現如果我只是設置attr例如$("#city").attr('data-placeholder', 'bar'),沒有效果。但是,如果我設置attr,然後調用$("#city").select2()而沒有參數,則佔位符將更新。

例如

$("#city").attr("data-placeholder","bar"); 
$("#city").select2(); 
+1

您也可以在已經實例化之後通過'select2'來更新佔位符,而不改變周圍的元素(例如'$(「#city」)。select2({placeholder:「bar」});')。 – redbmk

+1

無論如何,(重新)在元素上應用'select2()'也將失去之前通過javascript在此元素上設置的任何潛在選項。 –

1

把它放在你的定位器使用這樣的HTML:

<select id="city" placeholder="my placeholder"></select> 
+0

更改爲數據佔位符,它適用於select2。 '' –

2

對於其他人尋找一個屬性的解決方案,以避免更改JS代碼。我只需要自己查看一個項目,看來select2只需要屬性data-placeholder =「」。

<select id="city" data-placeholder="my placeholder"></select> 

查看更多在這裏:select2 options reference

+0

介意告訴我爲什麼downvote?我只是試圖提供幫助,在這種情況下我沒有看到我做錯了什麼? –

0

對於選擇2版本4我指定的佔位符文本中的JS初始化代碼,然後使用$select.select2{placeholder:"updated text..."}

1

更新它,你也可以做這樣的模板( html)級別。只要確保在第一個標籤上分配一個空白(例如「」)字符串即可。

<select class="test-select2" data-placeholder="Select Anything"> 
    <option value=""></option> 
    <option value="option1">Option 1</option> 
    <option value="option2">Option 2</option> 
</select> 

DEMO