当前位置: 代码网 > it编程>前端脚本>Ajax > bootstrap select2 动态从后台Ajax动态获取数据的代码

bootstrap select2 动态从后台Ajax动态获取数据的代码

2024年05月18日 Ajax 我要评论
效果图展示:实现方式:前端代码:<div class="form-group"> <label class="font-noraml">动态多选</label>

效果图展示:

实现方式:

前端代码:

<div class="form-group">
 <label class="font-noraml">动态多选</label> 
 <select id="bsselect2id" name="bsselect2id" class="form-control select2-multiple" 
  type="text" multiple data-live-search="true" >
 </select>
</div>
 
.....
<script th:inline="javascript">
 var url = ctx + "demo/form/select2";
 console.log(url)
 $(function() {
  var selectedvalues = [];   
   $("#bsselect2id:selected").each(function(){ 
   selectedvalues.push($(this).val());  
   }); 
   
    $("#bsselect2id").selectpicker({
      noneselectedtext : '请选择' ,  //默认显示内容
      //placeholder:'请选择',//默认文字提示
      // {#tags: true,//允许手动添加 #}
      allowclear: true,//允许清空
    });
    loadnetdatas2();
    loadnetdatabs2();  //执行此函数,从后台获取数据,拼接成option标签,添加到select的里面
    
    //初始化刷新数据
    $(window).on('load', function() {
     $('#bsselect2id').selectpicker('val', ''); 
      $('#bsselect2id').selectpicker('refresh');
    });
 
  });
 //var category = $.trim($('#select2id option:selected').val());
 function loadnetdatabs2(){
      $.ajax({
        url : url,  //后台controller中的请求路径
        type : 'get',
        async : false,
        datatype : 'json',
        success : function(results) {
          if(results){
           var jsondata=results.data;
           //console.log(jsondata)
            var netnames =[];
            console.log(jsondata.length)
            for(var i=0,len=jsondata.length;i<len;i++){
              var netdata = jsondata[i];
              console.log(netdata)
                //拼接成多个<option><option/>
                netnames.push('<option value="'+netdata.userid+'">'
      +netdata.username+'</option>') 
            }
            $("#bsselect2id").html(netnames.join(''));  
            //根据netid(根据你自己的id写)填充到select标签中
            $('#bsselect2id').selectpicker('val', ''); 
            $('#bsselect2id').selectpicker('refresh');  
          }
        },
        error : function() {
          alert('查询出错');
        }
      });
    };
 </script>

后端实现代码:

 /**
   * 动态获取下拉框内容下拉框
   */
  @getmapping("/select2")
  @responsebody
  public map<string,object> selectdynamic()
  {
   map<string,object> infomap=new hashmap<>();
   list<usersmodel> infolists=new arraylist<>();
   system.out.println("开始选择...");
   for(userformmodel user:users) {
   usersmodel usermodel=new usersmodel();
   usermodel.setuserid(user.getuserid());
   usermodel.setusername(user.getusername());
   infolists.add(usermodel);
   }
   infomap.put("data", infolists);
   return infomap;
  }

总结

以上所述是小编给大家介绍的bootstrap select2 动态从后台ajax动态获取数据的代码,希望对大家有所帮助

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com