最近開發中使用selectpicker下拉框選擇國家及地區,以此為樣例簡單記錄下使用方法。
1、從數據庫取值初始化下拉框內容。
html代碼如下,multiple 屬性為多選。
1 <select class="col-md-12 padding-none select" id="country" data-live-search="true" multiple > 2 </select>
此處省略后台代碼,將數據data返回到前台后,js處理如下:
1 //data是后台返回到前台的數據格式為List<Map<String,Object>> 2 var country = $("#country").attr("value"); 3 if($("#country").children().length==0){ 4 $("#country").append("<option value=''>請選擇</option>"); 5 if(data){ 6 $.each(data, function(i,o){ 7 if(country == o.COUNTRY_ID){ 8 $("#country").append("<option value='"+o.COUNTRY_ID+"' selected='selected' >"+o.COUNTRY_NAME+"</option>"); 9 }else{ 10 $("#country").append("<option value='"+o.COUNTRY_ID+"'>"+o.COUNTRY_NAME+"</option>"); 11 } 12 }); 13 } 14 $("#country").selectpicker({//初始化 15 size: 5 16 }); 17 }
效果如圖:


2、給下拉框設置默認值
若下拉框為單選,方法如下:
$("#country").selectpicker('val', 'USA');
若下拉框為多選,方法如下:
1 var arr=['a','b','c']; 2 $("#country").selectpicker('val', arr);
3、選中值后,如何獲取value和文本內容
獲取value方法:
1 //單選獲取值為字符串,多選獲取值為數組 2 $("#country").val();
獲取文本方法:
單選:
$("#country").find("option:selected").text();
多選:
1 var country_name = ""; 2 for(var i=0;i<$("#country").find("option:selected").length;i++){ 3 if(i==0){ 4 country_name = $("#country").find("option:selected")[i].innerText; 5 }else{ 6 country_name = country_name + ',' + $("#country").find("option:selected")[i].innerText; 7 } 8 }
下拉框多選后,清除選中內容:
$("選中的控件").selectpicker('deselectAll');
給下拉框添加選項后,下拉框無內容可以添加下面語句:
$("#id").selectpicker('refresh');
本文系原創,轉載請標明出處鏈接。
