select2是乙個非常好用的select美化外掛程式,但是在最近使用時發現,select2在使用ajax獲取資料內容時設定預設值非常麻煩,官方給出了乙個解決方案就是新增乙個屬性selected的option:
如果select的value值和text都已知的情況下,這種解決方案使用起來就非常容易而且好用了。
冥思苦想半天,還是沒明白select2官方設計ajax方式獲取資料時的初衷(mmp),找了一下select2的原始碼,內心再次奔潰,臥槽,好多行**,趕緊放棄(其實就是沒看懂,mmp again),還是自己動手豐衣足食,換一種思維,select2資料來源有兩種型別,一種是陣列arrays,另一種就是ajax遠端資料,
所以在這裡使用陣列和ajax結合的方式,先使用ajax獲取資料陣列,同時將預設值傳入後台,在返回資料的時候帶上這個預設值,接下來設定select2的選擇值,然後設定預設值就非常簡單了,這也是各種情況下,設定select2預設值的方法:
$("***").val(val).trigger("change");
最後貼一下完整**:
再補充一下ajax設定select2的返回資料格式要求:
------------------ 結束 ----------------
Select2 Ajax獲取資料
文章最初發表於szhshp的第三邊境研究所 遇到乙個需求 在前端使用select2設計乙個聯想輸入dropdown,通過ajax動態抓取資料 如果用純h5來實現極其簡單,這裡需要用select2外掛程式來實現 可以也使用h5原生onchange來進行動態提交但是這太愚蠢了,現成的select有更好的...
select2中的ajax請求
實現效果如下 引用檔案 select2.min.cssjquery.jsselect2.full.min.js 本地資料方式 html的select中的option是可選的,如果不寫乙個空的option標籤,則預設選擇第一項 如果寫了option標籤,則預設為空,但呼叫的時候,最好設定placeho...
IOS H5 ajax動態獲取select資料問題
問題 ios 使用ajax動態載入select的資料時,彈出的資料是舊的option資料,不是當次載入的最新資料 感覺ajax和select行為並行的 解決辦法 先讓select失去焦點不彈出option選項,等ajax載入完資料後再讓它獲取焦點彈出最新載入的資料.請選擇 var flag fals...