您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關bootstrap select2插件如何使用ajax來獲取和顯示數據的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
用select2插件,實現以下這個選擇框:
1、html代碼
<div class="form-group" style='display:none;' id='preParamGroup'> <label for="inputEmail3" class="col-sm-2 control-label">預定義參數</label> <div class="col-sm-8"> <select class="js-states form-control" id="preParamDefine" multiple="multiple" ></select> </div> </div>
2、js代碼
$("#preParamDefine").select2({ //data: data, placeholder:'請選擇',//默認文字提示 tags: true,//允許手動添加 allowClear: true,//允許清空 ajax: { url: '/jgwork/param_select', type:'GET', dataType: 'json', data: function(){ return {'projectId':$('#projectSel').val()}}, processResults: function (data) { return { results: data.result }; } } })
用ajax從服務端獲取數據,在processResult里來返回數據
3、服務端代碼
服務端返回的數據格式如下:
data = [ { 'text': 'enhancement' , 'children':[ { 'id': 1, 'text': 'bug','parent':'enhancement' }, { 'id': 2, 'text': 'duplicate' ,'parent':'enhancement'}, { 'id': 3, 'text': 'invalid' ,'parent':'enhancement'}, { 'id': 4, 'text': 'wontfix' ,'parent':'enhancement'} ] } ]
代碼:
proId = request.GET.get('projectId','') paramList = [param.show_table() for param in paramDefine.objects.filter(proid = proId)] data = [] index = 1 for item in paramList: childList = [] for i in item['paramValue'].split(','): childList.append({ 'id': index, 'text': i, 'param': item['paramName'] }) #生成children字段列表 index += 1 data.append({ 'text': item['paramName'], 'children': childList }) return JsonResponse({'result':data})
這里注意,index不能從0開始,不然生成的id有一個為0,會導致這個選項無法選取,因為在select2中id=0有特殊意義
Bootstrap是目前最受歡迎的前端框架,它是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷,它還有一個響應最好的Grid系統,并且能夠在手機端通用,而Bootstrap是使用許多可重用的CSS和JavaScript組件,可以幫助實現需要的幾乎任何類型的網站的功能,此外,所有這些組件都是響應式的。
感謝各位的閱讀!關于“bootstrap select2插件如何使用ajax來獲取和顯示數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。