2012-07-26 79 views
23

我試圖使用createSearchChoice函數來允許用戶在默認列表不足時輸入自己的選擇。當我嘗試使用此功能的<select>元素上,我得到以下錯誤:使用Select2的createSearchChoice函數

Error: Error: Option 'createSearchChoice' is not allowed for Select2 when attached to a <select> element.

我使用<input type='hidden'>元素,而不是嘗試過,但現在收到以下錯誤:

Error: uncaught exception: query function not defined for Select2 'MyInputName'

我寧願使用select元素來與現有代碼保持一致(需要能夠選擇多個選項),但只需要用戶輸入自己的選項以及從先前列表中選擇的功能。

+0

你可以發佈你的HTML和JavaScript代碼掛鉤它? – Prescott 2012-07-29 07:20:26

+0

看起來你需要使用隱藏 - 但你可以在數據連接'數據中設置「選項」:...' – Prescott 2012-07-29 07:39:46

回答

28

哦,上帝,我如何取消這個賞金。我驚慌失措,由於恐慌,我能夠回答我們都在尋找的東西:

您不能在select上使用createSearchChoice。所以你必須改用input

<input type="hidden" id="category"> 

解決方法是使用query參數:

$("#category").select2({query:function(query){ 
    var data = {results: []}; 
    data.results.push({text: query.term}); 
    query.callback(data); 
}}); 

這樣做是本期增加了選擇,如果它不存在。可以填充像這樣的results對象:

var data = {results: [{text:'math'},{text:'science'}]}; 

這解決了我的問題,所以我希望它解決了你的。我想我們應該更多地閱讀documentation

+0

噢,我真是希望得到一些賞金!很高興你知道了。 – Prescott 2012-07-31 06:07:50

+0

事實證明,查詢參數不是必需的,但數據參數必須位於相同的構造函數中。表單輸入被添加到我的頁面中,並且使用了特定於我正在使用的框架的類,並且包含一個帶有數據參數的構造函數,並且我試圖在頁面特有的單獨構造函數中添加createSearchChoice。一點定製和一切正在工作。回覆較晚,抱歉。 你的回答讓我朝着正確的方向前進,所以請保持你的賞金。 :) – jrrdnx 2012-08-03 15:55:00

+0

@jrrdnx你可以請你的部分代碼查詢和數據參數? – RailinginDFW 2013-03-28 18:21:49

2

我有這個問題,這是由於在同一領域調用select2兩次

相關問題