在[Jquery select美化增加版Select2使用]说明了jquery select2的基本使用,今天将select2 ajax服务端获取数据的例子做一下说明。并总结一下我在项目中遇到的几个问题。
1、服务端例子:
页面结构html:
<input type="text" id="num">
Js处理:
$(document).ready(function({ $("#num").select2({ placeholder:"输入一个AS号码",//文本框的提示信息 minimumInputLength:1, //至少输入n个字符,才去加载数据 allowClear: true, //是否允许用户清除文本信息 ajax:{ url:'${pageContext.request.contextPath }/……!getASNumber.do', //地址 dataType:'text', //接收的数据类型 //contentType:'application/json', data: function (term, pageNo) { //在查询时向服务器端传输的数据 term = $.trim(term); return { autNumber: term, //联动查询的字符 pageSize: 15, //一次性加载的数据条数 pageNo:pageNo, //页码 time:new Date()//测试 } }, results:function(data,pageNo){ if(data.length>0){ //如果没有查询到数据,将会返回空串 var dataObj =eval("("+data+")"); //将接收到的JSON格式的字符串转换成JSON数据 var more = (pageNo*15)<dataObj.total; //用来判断是否还有更多数据可以加载 return { results:dataObj.result,more:more }; }else{ return {results:data}; } } }, initSelection:function(element,callback){ //初始化,其中doName是自定义的一个属性,用来存放text的值 var id=$(element).val(); var text=$(element).attr("doName"); if(id!=''&&text!=""){ callback({id:id,text:text}); } }, formatResult: formatAsText //渲染查询结果项 }); }) //格式化查询结果,将查询回来的id跟name放在两个div里并同行显示,后一个div靠右浮动 function formatAsText(item){ var itemFmt ="<div style='display:inline;'>"+item.id+"</div><div style='float:right;color:#4F4F4F;display:inline'>"+item.name+"</div>" return itemFmt; }
需要服务器端传输的数据格式:“{'result':[{'id':'4048','text':'4808','name':'CHINA169-BJ'},{'id':'4048','text':'4808','name':'CHINA169-BJ'}],'total':'1'}”
注:返回的数据格式是json格式的,result存放的是符合查询条件的记录前n条数据的一些属性,total存放的是符合查询条件的记录的总数
在联动查询的过程中,向服务器端传送了四个参数,其中 asNumber是指定的查询的数据,pageNo和pageSize是用来做分页效果的(注:需要自己在后台根据页号跟页码实现分页) ,分别代表页码和每页的记录数,在这里先加载了15条数据,当你鼠标滚动到最底部的时候,就会根据你传的这三个参数,加载下15条的数据。
2、注意事项
清理已有的Select2的数据:
$("#selectsq").empty(); //清除下拉框option,不是会累加
Select2加载已选择的数据:
if (EditActiveModel != null) { var tagss = new Array(); $.each(EditActiveModel.CommunityList, function (key, val) { tagss.push(val.Id); }); } $("#selectsq").val(tagss).trigger("change");
Select2数据变化事件:
$("#selectsq").on("change", function (e) { ToggleProductList(); }) 本文来源于:http://www.suchso.com/projecteactual/jquery-select2-server-problem.html
相关推荐
在本文中,我们将深入探讨如何使用jQuery实现一个基于Ajax的文本框自动补全功能,以及相关的`autocomplete`插件的完整实例。这个功能在许多Web应用程序中非常常见,它能够提高用户输入的效率和用户体验。 首先,让...
总结一下,这个实例展示了如何在Asp.Net MVC中使用jQuery实现Ajax交互。主要步骤包括: 1. 创建一个返回Json数据的服务器端方法。 2. 创建一个允许Ajax请求的控制器方法。 3. 在视图中编写jQuery代码,监听用户事件...
这个函数有2个参数: XMLHttpRequest对象和一个描述HTTP相应的状态字符串。 这是一个 Ajax 事件。 function (XMLHttpRequest, textStatus) { this; // the options for this ajax request }contentType(...
这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...
代码中通过`System_Select_City.GetCity(spanid).value`从后台获取数据,这里可能是一个服务端脚本,返回JSON格式的城市数据,然后动态创建市级下拉菜单并显示。 ### 动态内容更新 动态内容更新是通过在点击省份时...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它允许开发者构建高度可扩展的、结构化的Web应用程序。Ajax(异步JavaScript和XML)技术则为Web页面提供了无需刷新整个页面即可更新部分数据的能力,提高了用户...
在本文中,将详细阐述如何利用jQuery的ajax功能调用WCF(Windows Communication Foundation)服务的实例。WCF是一个用于构建分布式应用程序的框架,而jQuery是一个广泛使用的JavaScript库,能够简化HTML文档遍历和...
这个实例代码是关于使用Ajax.NET和jQuery实现无刷新三级联动效果的。无刷新联动是指在用户选择某个选项时,无需整个页面刷新,仅更新与选择相关的部分数据。在Web开发中,这种技术常用于下拉菜单的选择,如省份、...
jQuery 和Dom关系及jQuery版本 jQuery选择器 实例多选反选取消 删选器以及Tab菜单示例 示例:模态编程框 jQuery 样式以及属性操作 示例:TAB切换菜单 jQuery内容操作 点赞以及jQuery css操作 JQuery高度以及位置操作...
2. **Web服务端开发**:PHP代码运行在服务器端,处理用户的请求,如上传文件、查询音乐链接等,然后返回相应的HTML、CSS和JavaScript代码,供客户端浏览器渲染成可视化的网页。 3. **文件上传功能**:项目中可能...
本文实例讲述了jquery实现触发时更新下拉列表内容的方法。分享给大家供大家参考,具体如下: 服务端假如有个请求地址用来返回所需数据 url:/hello 返回类似: 复制代码 代码如下:[{“西瓜”:10},{“苹果”:12},{...
在发行包(SWFUpload v2)中含有2个版本的Flash控件(swfupload_f8.swf 与wfupload_f9.swf),其中第一个版本拥有最佳的兼容性,但是为此损失了部分功能;而第二个版本提供了一些附加的功能但是损失了兼容性。 ...
2)修正上传功能中存在的一个安全问题!(重要更新)! 3)修正GIF图像添加文字水印无法自定义大小的BUG! 4)修正GIf图像生成缩略图质量较低的BUG! 2008/10/20 Version 5.0.7 For VS2005/2008 Updates: 1)修正...
阶乘:一个正整数的阶乘是所有小于及等于该数的正整数的积。 UE和UI的区别:UE是指用户体验(User Experience),UI是指用户界面(User Interface)。 OSI七层模型:计算机网络分层模型,包括物理层、数据链路层、网络...
07 select及触发方式 08 select监听多连接 09 select与epoll的实现区别 第36章 01 异步IO 02 selectors模块介绍 03 selectors模块应用 04 作业介绍 第37章 01 selctors实现文件上传与下载 02 html的介绍 03 html...
jQuery与AngularJS39 苹果与橙子40 窥视未来41 14总结41 第2章构建与测试43 21介绍示例应用44 熟悉问题领域44 技术栈45 持久化存储46 MongoLab46 服务器端环境47 第三方JavaScript库48 BootstrapCSS48 ...
- **核心API**:`SqlSession`提供了基本的数据访问方法如`selectList`、`selectOne`、`insert`、`update`、`delete`等。 - **接口代理模式**:可以通过定义接口并使用`SqlSession.getMapper`方法获取代理对象,从而...
在Java编程中,分页是数据管理中一个常见的需求,特别是在处理大数据集时,为了提高用户体验和系统性能,我们通常不会一次性加载所有数据,而是分批次地加载,这就是分页的基本概念。本教程将深入讲解如何使用Java...
- **Struts2**: Struts2框架中,Action实例是线程安全的,因为框架保证每个请求都会获得一个新的Action实例。 - **Spring MVC**: 控制器(Controller)通常不是线程安全的,因为每个HTTP请求可能会共享相同的控制器...
- 页面使用了HTML和JavaScript(jQuery库)进行编写,页面中包含多个select元素,分别对应省份、城市和县区的选择。 - JavaScript使用jQuery库简化了DOM操作和AJAX请求的代码编写,实现了用户选择省份后自动更新...