bootstrap-multiselect.js如何动态更新select里的数据
发布日期:2021-09-11 05:52:29 浏览次数:26 分类:技术文章

本文共 1134 字,大约阅读时间需要 3 分钟。

在使用jQuery的bootstrap-multiselect插件时可能会遇到一个问题

就是想要动态的去更新select里的数据

 

比如我们要使一个id=select的选择框实现多选

那么先用ajax获得新数据后清空select再一个个拼成option

 

[javascript] 
 
 
  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] 
 
 
  1. $("#select").multiselect("destroy").multiselect({  
  2.     // 自定义参数,按自己需求定义  
  3.     nonSelectedText : '--请选择--',   
  4.     maxHeight : 350,   
  5.     includeSelectAllOption : true,   
  6.     numberDisplayed : 5  
  7. });  

 

最后代码如下

 

[javascript] 
 
 
  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

转载地址:https://blog.csdn.net/weixin_34406061/article/details/85976928 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Recommended Settings for Tracing and Message Logging
下一篇:用VSCode开发一个asp.net core 2.0+angular 5项目(4): Angular5全局错误处理

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月06日 02时20分28秒