select2 外掛程式使用注意事項

2021-09-13 10:23:47 字數 2382 閱讀 6554

有問題可以參考select2的官方文件 select2

或者 github select2

$('#position').val(null).trigger('change');//position為自己的select控制項的id值
placeholder

$(".js-example-placeholder-single").select2();

!1. 對於非多選(non-multi-value)的select, 要想使placeholder顯示出來,必須放置乙個空的,並是這個空的option放置在select的第乙個位置,

否則瀏覽器就會將你的select的第乙個不為空的option值顯示出來,而不是你設定的placeholder

2. 對於可以多選的select框,如果放置乙個空的,那麼在首次多選的時候,會出現乙個空的選擇,所以在多選select框,若要顯示placeholder值,也不需要空的

為了修改option的style,我調研了2天左右,看官方文件,看github上的資料,終於找到了可以成功修改option的style。在此,我分享出來,以便大家能夠更迅速更高效的完成工作。

用css樣式改變option的style,可以參考stackoverflow中的一篇文章option style

首先你需要了解一下select2的data format: select2 data format. 這篇鏈結裡說道「each object should contain, at a minimum, an id and a text property.」(每乙個object裡都至少包含乙個id和乙個text)

,

,]}

如果你的data source是乙個array之類的,那麼需要按照指定的型別轉換。

var data = $.map(yourarraydata, function (obj) );
可以根據你自己的需求,將你自己的array中的某乙個字段值作為option的id值,將要顯示的item作為option的text字段值。

eg:我自己專案中的需求,我的資料是從ajax請求來的

var menudata; 

$.ajax(,

datatype:'json',

success:function(data));

//position為select2控制項的id值

$('#position').select2();

}});

將資料轉換成功之後,接下來就需要給option新增style了

$('#position').select2(

var $element = $(data.element);

if(data.type =='s')else if (data.type == '1')else if (data.type == '2')else if (data.type == 'o')

}});

//在這裡定義你想展示的樣式

到此你的option的style就可以根據你定義好的去展示了,再開發的時候,隨時用瀏覽器debug,如果不知道你的資料格式,可以輸出到控制台看看,這樣好做除錯。

如果你的option中的item是從資料庫中獲取的,在同乙個tab頁,你對該option進行了操作,並同時操作的資料庫,那麼你又需要在該tab的另乙個select2控制項中需要顯示出剛編輯過的option,而此時又不能夠做到區域性重新整理該tab頁,那麼你就需要時時重新整理option。

你有可能採取的時時重新整理是每次觸發select2這個控制項時,直接再請求一次資料即可,可是如果你只這麼做的話,會發現,你之前新增的option的位置是會錯亂的,而你又需要這個option的必須有一定的順序,放在你指定的位置,那麼就需要每次觸發select2的時候,先進行清空操作。

$('#position').html('');

$('#position').select2();

這一步操作完成後,你又會發現乙個問題,placeholder不顯示了,一直顯示option的第乙個item值。那麼該做什麼處理了?想想第2步的操作: 2。 是因為你在$('#position').html('');的時候將select中的所有的option都清空了,而要顯示出placeholder,則需要乙個空的, 所以你應該這麼改動一下:

$('#position').html('');

$('#position').select2();

大功告成!!!

前端外掛程式之Select2使用

工欲善其事,必先利其器 select2是一款基於jquery的下拉列表外掛程式,主要用來優化select,支援單選和多選,同時也支援分組顯示 列表檢索 遠端獲取資料等眾多好用的功能 需要用到的js和css檔案位於專案 下的dist目錄中,需要將這個目錄中的對應檔案放入你的專案裡,這一步不贅述 引入c...

小結 select的使用注意事項

int select int amxfdp1 fd set readset fd set writeset fd set exceptset const struct timeval timeout 對於要測試的socket是不是每進行一次select前都要進行fd set操作,來設定函式中的wri...

select2 外掛程式載入後端資料

html 全部function selectroomid select return query processresults function data,params cache true options language zh cn placeholder 請輸入房間號 allowclear t...