自动补齐flexselect+级联下拉框案例
在开发web应用时,经常遇到类似省市区级联下拉框操作,即选中省份自动级联加载该省份所有的市,选中市自动级联加载该市所有的区;假设省市区的数据量很大,此时用户想选中某市,因而要从上往下查找,可能半天都找不到,用户体验不佳,因此引入jQuery插件–自动补齐flexselect可解决该弊端,因为该插件支持模糊检索自动补齐,可在极短时间内找到想要的结果,节省了时间又增强了用户操作速度。
自动补齐flexselect插件用法请看:http://www.tieguanyin168.com/index.php/jqueryflexselect-1505.html
以下模拟省市区级联案例,效果如下:
源码:
1、服务器端代码
public void queryCity() {
String grade=this.getParameter("grade");
List<City> models = cityService.searchCitiesByPid(Integer.valueOf(grade));
if(models!=null&&models.size()>0){
//{"code":200,"data":[{"acronym":"LCQ","areaCode":"","fullName":"福建省泉州市鲤城区","grade":3,"id":1463,"isDel":0,"name":"鲤城区","pid":162,"sellQuantity":0,"signQuantity":0,"zipCode":""},
// {"acronym":"NAS","areaCode":"","fullName":"福建省泉州市南安市","grade":3,"id":1474,"isDel":0,"name":"南安市","pid":162,"sellQuantity":0,"signQuantity":0,"zipCode":""}],
// "success":true}
Utils.returnJson(models);
}
}
2、jsp代码
<div class="bg_row_out">
<div class="bg_row_out_1"> <font color="red">*</font>省:</div>
<div class="bg_row_out_2 required" style="border-right: 0 none;border-bottom: 0px solid #cccccc;">
<!--从服务器获取-->
<select id="provice" name="company.provice" class="newsletter_input">
<option value=""></option>
<c:forEach items="${provinces}" var="provice">
<option value="${provice.id }">${provice.name }</option>
</c:forEach>
</select>
</div>
</div>
<div class="bg_row_out">
<div class="bg_row_out_1"> <font color="red">*</font>市:</div>
<div class="bg_row_out_2 required" style="border-right: 0 none;border-bottom: 0px solid #cccccc;">
<select id="city" name="company.city" class="newsletter_input">
<option value=""></option>
</select>
</div>
</div>
<div class="bg_row_out">
<div class="bg_row_out_1"> <font color="red">*</font>区:</div>
<div class="bg_row_out_2 required" style="border-right: 0 none;border-bottom: 0px solid #cccccc;">
<select id="district" name="company.district" class="newsletter_input">
<option value=""></option>
</select>
</div>
</div>
3、js代码
$(function(){
var district = $("#district").flexselect();
$("#provice").flexselect({callback:function(){
$.ajax( {
url : "queryCity.htm",
data : {
"date" : new Date().getTime(),
"grade" : $("#provice").val()
},
dataType:"json",
success : function(result) {
if(result.code != 200){
alert(result.data);
return;
}
result = result.data;
var resultStr = [];
for ( var i = 0; i < result.length; i++) {
resultStr.push({name:result[i].name, value:result[i].id});
}
city.flexselect[0].cache = resultStr;
}
})
}
});
var city=$("#city").flexselect({callback:function(){
$.ajax( {
url : "queryCity.htm",
data : {
"date" : new Date().getTime(),
"grade" : $("#city").val()
},
dataType:"json",
success : function(result) {
if(result.code != 200){
alert(result.data);
return;
}
result = result.data;
var resultStr = [];
for ( var i = 0; i < result.length; i++) {
resultStr.push({name:result[i].name, value:result[i].id});
}
district.flexselect[0].cache = resultStr;
}
})
}
});
});
自动补齐flexselect+级联下拉框案例的更多相关文章
- EXCEL(1)级联下拉框
EXCEL级联下拉框 http://jingyan.baidu.com/article/3c343ff756e0cf0d377963f9.html 在输入一些多级项目时,如果输入前一级内容后,能够自动 ...
- struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)
针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...
- jQuery无限级联下拉框插件
自己编写jQuery插件 之 无限级联下拉框 因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...
- JQuery和ASP.NET分别实现级联下拉框效果
在学习JQuery之前知道下拉框的级联效果可以通过asp.net控件实现,现在学习了JQuery,知道了JQuery和select也能实现.我分别举两个小例子说明这两种方法如何实现. 1.用JQuer ...
- js基于json的级联下拉框
级联下拉列表是项目中常用到的.比如省市县,比如企业性质等,做成一个js通用组件, 在静态页出来后可以直接插入,将数据和html静态页做一个解耦. 贴出来抛砖引玉吧. /** * @author sun ...
- JS级联下拉框
//Ajax级联获取SDKfunction GetDropDownList(parent_ddlID, fill_dllID, url, param) { this.pId = parent_d ...
- C# ,数据导出到带有级联下拉框的模板(一,模板的级联功能)
一.首先解决如何做模板中增加级联功能 1,首先打开一个新的Excel文件,新增sheet,把分类保存在里面,如下图所示 2.回到sheet1,选中要增加下拉框的行(注意:请排除首行,首行是标题) 3. ...
- Struts2 级联下拉框 详解析
目录(?)[+] 运行环境:myeclipse8.6+jboss5.1+jvm1.6 先看最后目录结构: 直接上源码: complexFormTag.jsp: <%@ page language ...
- jsp页面上的下拉框案例(Struts2)
<s:select></s:select>包含的属性有:list="" :name="" :value="" ...
随机推荐
- java基础:eclipse编程不得不知道的技巧
如果你是位具有开发经丰富的工程师,在开发的过程中,你就会很强烈的要求快捷的编程.如何快捷编程,只有更加熟悉开发工具.那么eclipse是同样也有很多技巧.可以带着下面问题来阅读1.如何查找类相关信息? ...
- js中怎么去掉数组的空值
for(var i = 0 ;i<array.length;i++) { if(array[i] == "" || typeof(array[i] ...
- vue插件vue-infinite-loading的使用
vue-infinite-loading官网:https://peachscript.github.io/vue-infinite-loading/ 安装: npm install vue-infin ...
- linux 磁盘挂载操作
1. fdisk -l 查看磁盘 2. fisk /dev/vdb 进行分区 依次输入 n p 1 两次回车 wq 3. fdisk -l 查看分 ...
- Matlab 之 FFT的理解和应用
网上看了一些大牛的关于FFT的见解,加上自己的一点儿理解,针对以下这几个问题来加深对FFT的理解. 不知道大家有没有类似以下几点的困惑: 问题的提出 对于1秒钟输出的连续信号,使用采样率Fs不同,就会 ...
- Centos用yum升级mysql到(5.5.37) (转)
http://www.cnblogs.com/ikodota/p/use_yum_update_mysql.html 1. Change root user su - ## OR ## sudo -i ...
- (转)Android DiskLruCache完全解析,硬盘缓存的最佳方案
摘自:http://blog.csdn.net/guolin_blog/article/details/28863651 转载请注明出处: http://blog.csdn.net/guolin_bl ...
- 数组去重(初识ES6)
较常见的一问题:数组去重. 方法一:利用hash数组的原理 var arr=[1,3,3,4,5,5,6,6,7,8,69,8,99,9,0,]; function unique(arry){ var ...
- 解决asp.net上传文件时文件太大导致的错误
即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules> <add name="UploadHttpModu ...
- erlang入门之编译和运行
测试erlang脚本如下 -module(empty). -author("mmc"). %% API -export([test/1,test/0]). test()-> ...