在开发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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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;
    }
   })
  }
 });
  
});

最新文章

  1. Spring-配置bean的方法(工厂方法和Factorybean)【转】
  2. entityframework使用oracle的几个小问题
  3. curl文件上传有两种方式,一种是post_fileds,一种是infile
  4. sudo 权限问题
  5. WCF、Web API、WCF REST、Web Service之区别
  6. javascript活动
  7. Jena 简介:通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型
  8. Windows 10 IoT Serials 5 - 如何为树莓派应用程序添加语音识别与交互功能
  9. ES中const
  10. HDU 1014 Uniform Generator 欧几里得
  11. Chapter 3 Protecting the Data(2):分配列级权限
  12. 轻量级原生 ajax 函数,支持 get/array post/array post/json
  13. Linux:Day17(下) openssl
  14. HTML相关内容
  15. django-微信小程序登录
  16. win2016 配置IIS 和mysql5.7 迁移数据表的两个小坑
  17. linux安装redis-4.0.2
  18. 如何安装/卸载workflow manager 1.0
  19. python 全栈开发,Day135(爬虫系列之第2章-BS和Xpath模块)
  20. BZOJ1999或洛谷1099&amp;BZOJ2282或洛谷2491 树网的核&amp;[SDOI2011]消防

热门文章

  1. Page View Controllers
  2. mysql 关联左表不存在数据 并 根据身份证计算查找大于65岁以上老人
  3. PHP和JS页面跳转和刷新总结
  4. vue数据已渲染成 但还是报错 变量 undefined
  5. Kubernetes基本概念
  6. (三)、Fiddler的使用
  7. 深入理解java虚拟机-第二章:java内存区域与内存泄露异常
  8. laravel开启调试模式
  9. 关于NHibernate的一些代码
  10. java Annotation的应用