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获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
查看大图功能代码jquery版
Nov 05 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
实例讲解js验证表单项是否为空的方法
Jan 09 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
js实现自定义进度条效果
Mar 15 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
vue-cli3脚手架的配置及使用教程
Aug 28 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
Feb 21 Javascript
微信小程序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
Search Engine Friendly的URL设计
2006/10/09 PHP
php的memcached客户端memcached
2011/06/14 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php实现通过ftp上传文件
2015/06/19 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jquery批量控制form禁用的代码
2013/08/06 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
一些Python中的二维数组的操作方法
2015/05/02 Python
python 网络编程详解及简单实例
2017/04/25 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
python中的二维列表实例详解
2018/06/19 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python 字典套字典或列表的示例
2019/12/16 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
教师实习自我鉴定
2013/12/13 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
七一党日活动总结
2014/07/08 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL