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 相关文章推荐
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
Mar 27 Javascript
jQuery版Tab标签切换
Mar 16 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
Aug 24 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
es6系列教程_ Map详解以及常用api介绍
Sep 25 Javascript
js判断节假日实例代码
Dec 27 Javascript
JS使用setInterval实现的简单计时器功能示例
Apr 19 Javascript
在vue中使用G2图表的示例代码
Mar 19 Javascript
layui框架与SSM前后台交互的方法
Sep 12 Javascript
Vue3中toRef与toRefs的区别
Mar 24 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
第八节 访问方式 [8]
2006/10/09 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
jQuery对表单的操作代码集合
2011/04/06 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
破解安装Pycharm的方法
2018/10/19 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python requests上传文件实现步骤
2020/09/15 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
高级护理专业大学生求职信
2013/10/24 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
2015年宣传工作总结
2015/04/08 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫