bootstrap-multiselect.js如何動態更新select里的數據


在使用jQuery的bootstrap-multiselect插件時可能會遇到一個問題

就是想要動態的去更新select里的數據

 

比如我們要使一個id=select的選擇框實現多選

那么先用ajax獲得新數據后清空select再一個個拼成option

 

[javascript]  view plain  copy
 
  1. $("#select").html("");  
  2. for (var i = 0; i < json.length; i++) {  
  3.     $("#select").append("<option value='" + json[i].code + "'>" + json[i].name + "</option>");  
  4. }  

 

這時再重新調用一次multiselect()或使用multiselect("refresh")可能並沒有任何效果

正確的姿勢應該是先使用destroy破壞multiselect之后再重新構建

 

[javascript]  view plain  copy
 
  1. $("#select").multiselect("destroy").multiselect({  
  2.     // 自定義參數,按自己需求定義  
  3.     nonSelectedText : '--請選擇--',   
  4.     maxHeight : 350,   
  5.     includeSelectAllOption : true,   
  6.     numberDisplayed : 5  
  7. });  

 

最后代碼如下

 

[javascript]  view plain  copy
 
  1. function refreshMultiSelect() {  
  2.     $.ajax({  
  3.         type : "POST",  
  4.         url : url,  
  5.         data : data,  
  6.         dataType : "json",  
  7.         success : function(json) {  
  8.             $("#select").html("");  
  9.             for (var i = 0; i < json.length; i++) {  
  10.                 $("#select").append("<option value='" + json[i].code + "'>" + json[i].name + "</option>");  
  11.             }  
  12.             $("#select").multiselect("destroy").multiselect({  
  13.                 // 自定義參數,按自己需求定義  
  14.                 nonSelectedText : '--請選擇--',   
  15.                 maxHeight : 350,   
  16.                 includeSelectAllOption : true,   
  17.                 numberDisplayed : 5  
  18.             });  
  19.         }  
  20.     });  
  21. }  


版權聲明:本文為博主原創文章,未經博主允許不得轉載。 http://blog.csdn.net/qweasdqwe32/article/details/51722393


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM