正文

bootstrap select2 动态从后台Ajax动态获取数据的代码(bootstrap select 多选)这样也行?

文章摘要

这篇文章介绍了如何使用Select2库实现动态多选框的功能。通过嵌入`<select>`标签并使用Select2的API,可以在网页中实时加载和刷新多选选项。代码中定义了`loadnetdatabs2`和`loadnetdatas2`函数,用于从后台服务器获取数据,并将数据拼接成`<option>`标签添加到选框中。此外,代码还实现了动态刷新选框内容的功能,并在页面加载时自动初始化和刷新数据,确保选框内容的实时更新。这篇文章的核心内容是展示如何利用Select2的强大功能和AJAX技术实现高效的多选框动态加载和刷新。

 <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>