jQuery中Chosen三级联动功能实例代码

 更新时间:2017年03月07日 11:53:29   作者:祁临芯  
Chosen 是一个JavaScript插件,它能让丑陋的、很长的select选择框变的更好看、更方便,不仅如此,它更扩大了,增长了主动筛选的功能。接下来通过本文给大家分享chosen 三级联动功能,一起看看吧

Chosen 是一个JavaScript插件,它能让丑陋的、很长的select选择框变的更好看、更方便,不仅如此,它更扩大了,增长了主动筛选的功能。

本文介绍Chosen联动,具体代码如下:

var addressResolve = function (options) {
  //检测用户传进来的参数是否合法
  if (!isValid(options))
    return this;
  //默认参数
  var defaluts = {
    proId: 'divProv',
    cityId: 'divCity',
    areaId: 'divArea'
  };
  var opts = $j.extend({}, defaluts, options);//使用jQuery.extend 覆盖插件默认参数
  var addressInfo = this;
  this.provInfo = $j("#" + opts.proId);//省份select对象
  this.cityInfo = $j("#" + opts.cityId);//城市select对象
  this.areaInfo = $j("#" + opts.areaId);//区县select对象
  /*省份初始化方法*/
  this.provInfoInit = function () {
    var proOpts = "";
    $j.each(provinceJson, function (index, item) {
      proOpts += "<option value='" + item.ProID + "'>" + item.name + "</option>";
    });
    addressInfo.provInfo.append(proOpts);
    addressInfo.provInfo.chosen(); //初始化chosen
    addressInfo.cityInfo.chosen();//初始化chosen
    addressInfo.areaInfo.chosen();//初始化chosen
  };
  /*城市选择绑定方法*/
  this.selectCity = function () {
    addressInfo.cityInfo.empty();
    addressInfo.cityInfo.append("<option value=选择城市>选择城市</option>");
    addressInfo.areaInfo.empty();
    addressInfo.areaInfo.append("<option value=选择区县>选择区县</option>");
    if (addressInfo.provInfo.val() == "选择省份") { //选择无效时直接返回
      addressInfo.cityInfo.trigger("liszt:updated");
      addressInfo.areaInfo.trigger("liszt:updated");
      return;
    }
    var provId = addressInfo.provInfo.val();//获取选择的省份值
    var cityOpts = "";
    $j.each(cityJson, function (index, item) {
      if (item.ProID == provId) {
        cityOpts += "<option value='" + item.CityID + "'>" + item.name + "</option>";
      }
    });
    addressInfo.cityInfo.append(cityOpts);
    addressInfo.cityInfo.trigger("liszt:updated");
    addressInfo.areaInfo.trigger("liszt:updated");
  };
  /*区县选择绑定方法*/
  this.selectArea = function () {
    if (addressInfo.cityInfo.val() == "选择城市") return;
    addressInfo.areaInfo.empty();
    addressInfo.areaInfo.append("<option value=选择区县>选择区县</option>");
    var cityId = addressInfo.cityInfo.val();//获取选择的城市值
    var areaOpts = "";
    $j.each(areaJson, function (index, item) {
      if (item.CityID == cityId) {
        areaOpts += "<option value='" + item.Id + "'>" + item.DisName + "</option>";
      }
    });
    addressInfo.areaInfo.append(areaOpts);
    addressInfo.areaInfo.trigger("liszt:updated");
  };
  /*对象初始化方法*/
  this.init = function () {
    addressInfo.provInfo.append("<option value=选择省份>选择省份</option>");
    addressInfo.cityInfo.append("<option value=选择城市>选择城市</option>");
    addressInfo.areaInfo.append("<option value=选择区县>选择区县</option>");
    addressInfo.provInfoInit();
    addressInfo.provInfo.bind("change", addressInfo.selectCity);
    addressInfo.cityInfo.bind("change", addressInfo.selectArea);
  }
  //私有方法,检测参数是否合法
  function isValid(options) {
    return !options || (options && typeof options === "object") ? true : false;
  }
}

以上所述是小编给大家介绍的jQuery中Chosen三级联动实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

相关文章

  • Jquery ui css framework

    Jquery ui css framework

    Jquery ui css framework是jquery ui中的一个样式框架,可以利用jquery Theme roller 来生成自己想要的css样式效果。我们可以利用jquery ui的一些框架来开发出基于jquery ui css framework效果的插件来。
    2010-06-06
  • 检测jQuery.js是否已加载的判断代码

    检测jQuery.js是否已加载的判断代码

    测类、方法、变量或属性是否已存在,这是Javascript编程基础知识。在这里我们就是要检测jQuery()或$()函数是否存在
    2011-05-05
  • jQuery实现每日秒杀商品倒计时功能

    jQuery实现每日秒杀商品倒计时功能

    这篇文章主要介绍了 jQuery实现每日秒杀商品倒计时功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • easyui Droppable组件实现放置特效

    easyui Droppable组件实现放置特效

    droppable和draggable有类似的地方,不过区别点在于前者着重于将元素放进某个容器中,而后者则着重于可拖拽(虽然可能一些效果两者都可以实现)。而且通过查看easyloader源码可知道,droppable并不依赖于draggable。
    2015-08-08
  • jQuery实现的自定义滚动条实例详解

    jQuery实现的自定义滚动条实例详解

    这篇文章主要介绍了jQuery实现的自定义滚动条,结合完整实例详细分析了jQuery自定义滚动条的实现步骤与相关操作技巧,并给出了jquery.jscroll.js插件的完整代码,需要的朋友可以参考下
    2016-09-09
  • jquery 图片缩放拖动的简单实例

    jquery 图片缩放拖动的简单实例

    本篇文章只要是对jquery 图片缩放拖动的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • JS 遍历 json 和 JQuery 遍历json操作完整示例

    JS 遍历 json 和 JQuery 遍历json操作完整示例

    这篇文章主要介绍了JS 遍历 json 和 JQuery 遍历json操作,结合完整实例形式详细分析了JavaScript与jQuery遍历json格式数据的简单实现技巧,需要的朋友可以参考下
    2019-11-11
  • jQuery焦点控制图层展示延迟隐藏的方法

    jQuery焦点控制图层展示延迟隐藏的方法

    这篇文章主要介绍了jQuery焦点控制图层展示延迟隐藏的方法,实例分析了jQuery操作图层的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • jQuery选择器总结之常用元素查找方法

    jQuery选择器总结之常用元素查找方法

    jQuery 的选择器可谓之强大无比,本文给大家总结下jQuery选择器之常用元素查找方法,非常不错,感兴趣的朋友一起学习吧
    2016-08-08
  • jQuery获得IE版本不准确webbrowser的解决方法

    jQuery获得IE版本不准确webbrowser的解决方法

    用$.browser.version经常出现一些不准确的状况,最近碰到,做了一些总结,不知道是否全面
    2014-02-02

最新评论