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

自动补齐flexselect+级联下拉框案例的更多相关文章

  1. EXCEL(1)级联下拉框

    EXCEL级联下拉框 http://jingyan.baidu.com/article/3c343ff756e0cf0d377963f9.html 在输入一些多级项目时,如果输入前一级内容后,能够自动 ...

  2. struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)

    针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...

  3. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

  4. JQuery和ASP.NET分别实现级联下拉框效果

    在学习JQuery之前知道下拉框的级联效果可以通过asp.net控件实现,现在学习了JQuery,知道了JQuery和select也能实现.我分别举两个小例子说明这两种方法如何实现. 1.用JQuer ...

  5. js基于json的级联下拉框

    级联下拉列表是项目中常用到的.比如省市县,比如企业性质等,做成一个js通用组件, 在静态页出来后可以直接插入,将数据和html静态页做一个解耦. 贴出来抛砖引玉吧. /** * @author sun ...

  6. JS级联下拉框

    //Ajax级联获取SDKfunction GetDropDownList(parent_ddlID, fill_dllID, url, param) {    this.pId = parent_d ...

  7. C# ,数据导出到带有级联下拉框的模板(一,模板的级联功能)

    一.首先解决如何做模板中增加级联功能 1,首先打开一个新的Excel文件,新增sheet,把分类保存在里面,如下图所示 2.回到sheet1,选中要增加下拉框的行(注意:请排除首行,首行是标题) 3. ...

  8. Struts2 级联下拉框 详解析

    目录(?)[+] 运行环境:myeclipse8.6+jboss5.1+jvm1.6 先看最后目录结构: 直接上源码: complexFormTag.jsp: <%@ page language ...

  9. jsp页面上的下拉框案例(Struts2)

    <s:select></s:select>包含的属性有:list=""  :name=""  :value=""   ...

随机推荐

  1. Apache Accumulo

    Apache Accumulo 是一个可靠的.可伸缩的.高性能的排序分布式的 Key-Value 存储解决方案, 基于单元访问控制以及可定制的服务器端处理.Accumulo使用 Google BigT ...

  2. SSH远程登录CentOS服务器

    1.把ssh默认远程连接端口修改为2200编辑防火墙配置:vi /etc/sysconfig/iptables防火墙增加新端口2222 -A INPUT -m state --state NEW -m ...

  3. session 与 cookie 区别

    一.Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标 ...

  4. GNU Radio: 自定义 block 实例

    综述 本文通过在GNU Radio 中编写一个block的例子,系统介绍创建一个block的过程.该 block 的功能是可以在GRC中通过滑块(WX GUI Slider)来实时改变信号源(Sign ...

  5. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...

  6. 安装sphinx报错(undefined reference to `libiconv_open' 、undefined reference to `libiconv'、undefined reference to `libiconv_close'、make[1]: *** No rule to make target `all'. Stop. 、make: *** [all-recursive

    (为知笔记copy过来格式有变,希望对遇到此问题的童鞋有帮助) 具体错误: Thank you for choosing Sphinx! [root@vm-vagrant csft-4.1]# mak ...

  7. Android中处理崩溃异常 (转)

    大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了 ...

  8. STM32之中断

    在STM32(Cortex-M3)中没有显示的代码拷贝,只有启动代码进行了向量的初始化,一直以为是编译器在程序影像中自己完成了相关向量的拷贝,即,拷贝到固定的NVIC区,事实上并不是这样,cortex ...

  9. 【Leetcode 167】Two Sum II - Input array is sorted

    问题描述:给出一个升序排列好的整数数组,找出2个数,它们的和等于目标数.返回这两个数的下标(从1开始),其中第1个下标比第2个下标小. Input: numbers={2, 7, 11, 15}, t ...

  10. Tomcat原理的一点看法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 首先,运行tomcat之前,先写一个html页面, 再写一个serlvet程序 配置文件如下: 那么程序是怎样运行的呢? 浏览器发起请求到 --& ...