bootstrap select2插件用ajax来获取和显示数据的实例


Posted in Javascript onAugust 09, 2018

用select2插件,实现以下这个选择框:

bootstrap select2插件用ajax来获取和显示数据的实例

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" style="width: 100%"></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 select2插件用ajax来获取和显示数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript实现的动态文字变换
Jul 28 Javascript
jQuery 页面载入进度条实现代码
Feb 08 Javascript
JS 控制非法字符的输入代码
Dec 04 Javascript
javascript中数组中求最大值示例代码
Dec 18 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
Bootstrap4如何定制自己的颜色和风格
Feb 26 Javascript
详解将微信小程序接口Promise化并使用async函数
Aug 05 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
微信小程序url传参写变量的方法
Aug 09 #Javascript
angular6.x中ngTemplateOutlet指令的使用示例
Aug 09 #Javascript
koa上传excel文件并解析的实现方法
Aug 09 #Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 #Javascript
vue-cli初始化项目中使用less的方法
Aug 09 #Javascript
video.js 实现视频只能后退不能快进的思路详解
Aug 09 #Javascript
JavaScript面向对象继承原理与实现方法分析
Aug 09 #Javascript
You might like
一些PHP写的小东西
2006/12/06 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
详谈PHP编码转换问题
2015/07/28 PHP
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JS简单计算器实例
2015/01/20 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
Vue表单实例代码
2016/09/05 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
安全月活动总结
2014/05/05 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
毕业生工作求职信
2014/06/30 职场文书
公司离职证明标准范本
2014/10/05 职场文书
场地使用证明模板
2014/10/25 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
鲁冰花观后感
2015/06/10 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
重阳节主题班会
2015/08/17 职场文书
小学副班长竞选稿
2015/11/21 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python