我有一個<select>
元素,其中加載了select2。之後,我進行ajax調用,將值放入元素中,然後撥打$("#elem").trigger("change.select2")
以獲得新的<option>
s。如果用戶在搜索框中鍵入內容,則會導致關閉下拉菜單並清空搜索字段。我想要做的是讓用戶繼續打字而不必重新啓動。有沒有辦法做到這一點?將選項添加到select2而不更改其當前狀態
1
A
回答
0
不幸的是,我不相信;這是瀏覽器定義的行爲,事實上,當您將項目添加到開放的<select>
時,不同的瀏覽器甚至不同的瀏覽器版本將表現不同。
作爲替代方案,您可以嘗試一些類似選擇的組件,如jQuery UI's Selectmenu或Select2;他們不是真正的<select>
的,但實際的自定義JS組件的行爲如此。這應該讓你更好地控制行爲。
0
讀一遍又一遍的文檔,它似乎像使用<select>
元素基本上等於因爲一切都是從DOM檢索沒有動態數據,所以要解決這個問題的唯一方法是使用<input>
元素來代替。下面的代碼我想要做什麼:
<input type="hidden" id="elem" />
var arr = [];
$("#elem").select2({
data: { results: arr }
});
$.ajax({
...
success: function(data) {
arr = data;
}
});
但是這不是關於使用<select>
而不是100%的答案,所以我會離開這個作爲不被接受,直到(希望)更相關的答案走來。
相關問題
- 1. 將選定的選項添加到Select2
- 2. 將當前狀態添加到每個列表項目
- 3. 當向VS2013中的項目添加新文件時,它將更改爲鎖定狀態,而不是添加
- 4. 「select2」添加常量選項
- 5. 動態添加select2類到當前點擊元素
- 6. 將行添加到CSV文件而不更改其格式(Python)
- 7. 將Ajax內容加載到隱藏選項卡 - 而不是當前選項卡
- 8. 將當前/活動狀態添加到兩個對象
- 9. 將當前狀態添加到jQuery工具可滾動的項目
- 10. 將項目添加到.net組合,而不是更改火災選擇?
- 11. 如何將當前選項標記爲選中狀態?
- 12. 更改knockout.js選項文本取決於其選定的狀態
- 13. 動態添加EditorTemplates到當前頁面,在下拉更改
- 14. 當沒有結果時,Select2將類添加到select2-container
- 15. 顯示在其當前狀態的形式,而不是()
- 16. 更改類,將其添加到鏈接
- 17. 將狀態更改爲以前的值
- 18. 更改瀏覽器選項卡狀態
- 19. 將html添加到chrome當前選項卡
- 20. 將文件選項添加到當前表單域
- 21. 將當前類添加到當前菜單項CSS
- 22. 將當前更改視圖添加到主屏幕?
- 23. 將當前類添加到自動圖像更改器
- 24. GIT:將本地更改添加到非當前分支
- 25. SVN ---將當前目錄(。)添加到更改列表
- 26. 將當前活動選項卡保存在最小狀態?
- 27. 將html添加到div而不替換當前的內容
- 28. 將變量添加到數據庫而不替換當前值?
- 29. AngularJs + select2 - 添加了空選項
- 30. 如何重新創建片段而不添加其以前的狀態
我已經在使用Select2,只是希望它不會重置用戶喜歡打開下拉菜單並在使用新選項更新時在搜索文本中鍵入的所有內容。 – idlackage
哦,對不起,我沒有注意到那個小細節......文檔沒有提供如何做到這一點的指示,可能有必要研究圖書館的來源。 –