最近跟的一个项目整体的架构采用的是win 8(metro)风格,里面用到了很多插件,其中有一个select2.js(官网:http://ivaynberg.github.io/select2),这个插件的功能非常强大,我只用到了其中的一个——联动查询。
一、页面部分
- <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条的数据。
在做的过程中遇到了一些困难,因为有关select2的资料很少, 官网上的例子又看不太明白,花了三天时间才做出来 。在这里整理出来与大家分享,希望大家看过之后给我提一些宝贵意见。
用到的js跟css大家可以到官网上去下载,也可以在这里http://download.csdn.net/detail/zdx1515888659/6588415下载。
注:在用编辑器生成代码时,要注意DOCTYPE ,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">写成这样子 样式会有问题,至于到底是什么原因我也不太清楚,应该写成<!DOCTYPE HTML>
相关推荐
jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单
jQuery 插件编写的select三级联动,多级联动,修改方便,扩展方便
带select下拉选择框美化的jQuery省市区三级联动插件,网络上很多城市三级联动选择插件,但是 大部分是采用传统的select下拉框选择,本插件利用ul模拟美化select选择框,界面还是很不错的 最终选择的值会赋值到隐藏...
全国城市的三级联动,省-城市-区域
district 是一款 jQuery 插件,主要用于多级菜单联动(如省市县),可根据自己需求定制。支持 jQuery.select2(优化下拉菜单插件)插件,支持原生 select(下拉菜单)。
该小插件是自己写的谢谢指教。可以改写为三级菜单。
网页应用中,多个select之间级联刷新是很常见的一个需求,本插件充份运用jquery强大的脚本功能,并运用json实现数据交互,实现了select无限级联的功能,接口调用简洁,刷新功能配置灵活,参数强大, 支持select元素...
jQuery多级联动美化版Select下拉框插件.zip
实用jQuery省市区三级城市级联下拉菜单选择插件jQuery cxSelect,功能强大非常不错的jQuery插件, 支持省市区三级联动以及全球国家城市的联动,数据采用JSON格式导入,非常方便的,强大的参数 自定义功能,还可以...
自己做了三个专门用来操作下拉列表框(select)的jquery插件,一是通过ajax方式填充列表项的FillOptions, 二是下拉列表框的联动插件CascadingSelect,三是手动添加列表项的AddOption插件 具体说明请看这里 ...
<script src="Scripts/jquery-1.6.2.min.js" type="text/javascript"> .j_prompt_select { width: 350px; z-index:100; border: #7f9db9 1px solid; background: #fff; font-size: 12px; font-family: ...
jquery三级联动插件CitySelect
jQuery模拟select下拉框插件是一款支持多选和单选下拉框菜单选中代码。
Jquery的选择器很强大,对select的options对象添加的时候我找了老半天才找到 代码如下:/**//* 文件名:jquery.liu.select.js 功能说明:本js文件为jquery类库的一个插件,主要实现对select的操作. 作者:John Liu 编写...
两级联动选择插件调用: $('.select-value').mPicker({ //级别 level:2, //需要渲染的json,二级联动的需要嵌套子元素,有一定的json格式... jQuery手机端省市二级联动选择代码是一款非常实用的城市选择器插件。
一些静态和动态的基于jquery的联动,及其美化. select.js jquery-1.83.js
感谢作者”天天无用“的共享精神,连资源分也是0,受其感染,发布一个php版的
jQuery 实现的多选框联动插件 代码如下: // 使用:$(_event_src_).autoSelect(_reload_, reload_url); // 前台用get方法传输<select>标签的属性”name”和选中的属性”value” // 后台用json格式传输数据 // ...