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调用XML制作连动下拉列表框
Jun 25 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
Oct 23 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
javascript函数以及基础写法100多条实用整理
Jan 13 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
Sep 01 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
浅谈实现vue2.0响应式的基本思路
Feb 13 Javascript
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
JQuery 入门实例1
2009/06/25 Javascript
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
Vue分页插件的前后端配置与使用
2019/10/09 Javascript
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
详解python之heapq模块及排序操作
2019/04/04 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
python实现吃苹果小游戏
2020/03/21 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
浅谈react路由传参的几种方式
2021/03/23 Javascript
2014年三八妇女节活动总结
2014/03/01 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
英文辞职信范文
2015/05/13 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书