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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
jquery弹出框的用法示例(一)
Aug 26 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
Apr 25 Javascript
在linux中使用包管理器安装node.js
Mar 13 Javascript
jquery插件pagination实现无刷新ajax分页
Sep 30 Javascript
JS中call/apply、arguments、undefined/null方法详解
Feb 15 Javascript
json数据处理及数据绑定
Jan 25 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
Sep 16 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 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随机数生成代码与使用实例分析
2011/04/08 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
python写xml文件的操作实例
2014/10/05 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
python如何从文件读取数据及解析
2019/09/19 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
程序员经常用到的UNIX命令
2015/04/13 面试题
自我鉴定写作要点
2014/01/17 职场文书
自立自强的名人事例
2014/02/10 职场文书
技术比武方案
2014/05/19 职场文书
2015年档案室工作总结
2015/05/23 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
Python OpenCV快速入门教程
2021/04/17 Python