lyhucSelect基于Jquery的Select数据联动插件

 更新时间:2011年03月29日 23:53:07   作者:  
lyhucSelect基于Jquery的Select数据联动插件,需要的朋友可以参考下。
数据源:
复制代码 代码如下:

var areaInfo = new Array();
areaInfo[0] = new Array();
areaInfo[0][0]="1";
areaInfo[0][1]="Beijing";
areaInfo[0][2]="0";
areaInfo[0][3]="0";
areaInfo[1] = new Array();
areaInfo[1][0]="2";
areaInfo[1][1]="Shanghai";
areaInfo[1][2]="0";
areaInfo[1][3]="0";
areaInfo[2] = new Array();
areaInfo[2][0]="3";
areaInfo[2][1]="Jing'an";
areaInfo[2][2]="2";
areaInfo[2][3]="0";
areaInfo[3] = new Array();
areaInfo[3][0]="4";
areaInfo[3][1]="Changning";
areaInfo[3][2]="2";
areaInfo[3][3]="0";
areaInfo[4] = new Array();
areaInfo[4][0]="5";
areaInfo[4][1]="Luwan";
areaInfo[4][2]="2";
areaInfo[4][3]="0";
areaInfo[5] = new Array();
areaInfo[5][0]="6";
areaInfo[5][1]="Huangp";
areaInfo[5][2]="2";
areaInfo[5][3]="0";
areaInfo[6] = new Array();
areaInfo[6][0]="7";
areaInfo[6][1]="Pudong";
areaInfo[6][2]="2";
areaInfo[6][3]="0";
areaInfo[7] = new Array();
areaInfo[7][0]="8";
areaInfo[7][1]="Minhang";
areaInfo[7][2]="2";
areaInfo[7][3]="0";
areaInfo[8] = new Array();
areaInfo[8][0]="9";
areaInfo[8][1]="Qingpu";
areaInfo[8][2]="2";
areaInfo[8][3]="0";
areaInfo[9] = new Array();
areaInfo[9][0]="10";
areaInfo[9][1]="Hongkou";
areaInfo[9][2]="2";
areaInfo[9][3]="0";
areaInfo[10] = new Array();
areaInfo[10][0]="11";
areaInfo[10][1]="Zhabei";
areaInfo[10][2]="2";
areaInfo[10][3]="0";
areaInfo[11] = new Array();
areaInfo[11][0]="12";
areaInfo[11][1]="Putuo";
areaInfo[11][2]="2";
areaInfo[11][3]="0";
areaInfo[12] = new Array();
areaInfo[12][0]="13";
areaInfo[12][1]="Yangpu";
areaInfo[12][2]="2";
areaInfo[12][3]="0";
areaInfo[13] = new Array();
areaInfo[13][0]="14";
areaInfo[13][1]="Others";
areaInfo[13][2]="2";
areaInfo[13][3]="0";

jquery.lyhucSelect.js
复制代码 代码如下:

(function($) {
$.fn.lyhucSelect = function(options) {
var element = this;
var elementid = "#" + element[0].id;
var defaults = {
dataSource:{},
subSelect:'#subcategory',
option:{text:'--Select--',value:''},
value:'0',
parentid:0
};
var options = $.extend(defaults, options);
var defaultoption = new Option();
var defaultsuboption = new Option();
(function init(){
defaultoption.text=options.option.text;
defaultoption.value=options.option.value;
$(elementid).append(defaultoption);
defaultsuboption.text=options.option.text;
defaultsuboption.value=options.option.value;
$(options.subSelect).append(defaultsuboption);
$(options.dataSource).each(function(i){
var id=options.dataSource[i][0];
var mc=options.dataSource[i][1];
if(options.parentid==options.dataSource[i][2])
{
var newoption = new Option();
newoption.value=id;
newoption.text=mc;
$(elementid).append(newoption);
}
});
})();
return this.each(function(){
$(this).bind("change",function(e){
var currentVal=$(this).val();
var tmpDepth=0;
$(options.subSelect).empty();
$(options.dataSource).each(function(i){
var id=options.dataSource[i][0];
var mc=options.dataSource[i][1];
if(currentVal==options.dataSource[i][2])
{
var newoption = new Option();
newoption.value=id;
newoption.text=mc;
$(options.subSelect).append(newoption);
tmpDepth++;
}
});
if(tmpDepth==0)
{
var parentoption = new Option();
parentoption.value=$(elementid).val();
parentoption.text=$(elementid).find('option:selected').text();
$(options.subSelect).append(parentoption);
}
});
});
};
})(jQuery);

调用:
$('#cityCategory').lyhucSelect({dataSource:areaInfo,subSelect:'#areCategory'});
效果:

相关文章

  • 解析jquery中的ajax缓存问题

    解析jquery中的ajax缓存问题

    现在我要在浏览器里读取缓存,因为ajax请求的数据很大,请求一次就够了。但是问题来了,在FF里面,是没有ajax缓存的,也就是每次都会触发ajax请求,这点和IE不一样
    2013-12-12
  • jQuery实现简单的抽奖游戏

    jQuery实现简单的抽奖游戏

    这篇文章主要为大家详细介绍了jQuery实现简单的抽奖游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jQuery UI Dialog 创建友好的弹出对话框实现代码

    jQuery UI Dialog 创建友好的弹出对话框实现代码

    jQuery UI Dialog是jQuery UI的弹出对话框组件,使用它可以创建各种美观的弹出对话框;它可以设置对话框的标题、内容,并且使对话框可以拖动、调整大小、及关闭;平常主要用来替代浏览嚣自带的alert、confirm、open等方法
    2012-04-04
  • toggle()隐藏问题的解决方法

    toggle()隐藏问题的解决方法

    一个实例中使用到toggle函数,但是调用的时候会把元素隐藏掉,经搜索终于找到了原因,需要的朋友可以参考下
    2014-02-02
  • Jquery 获得服务器控件值的方法小结

    Jquery 获得服务器控件值的方法小结

    由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法.
    2010-05-05
  • jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例

    jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例

    这篇文章主要介绍了jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能,涉及jQuery事件响应及窗口元素属性的相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • jQuery+HTML5美女瀑布流布局实现方法

    jQuery+HTML5美女瀑布流布局实现方法

    这篇文章主要介绍了jQuery+HTML5美女瀑布流布局实现方法,涉及jQuery结合HTML5实现瀑布流效果的动态加载功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • jQuery实现当按下回车键时绑定点击事件

    jQuery实现当按下回车键时绑定点击事件

    当按下回车键时,绑定按钮点击事件,本文为大家介绍下jQuery回车键绑定点击事件的具体实现
    2014-01-01
  • jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单

    jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单

    这篇文章主要介绍了jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单,可实现页面向下滑动后导航栏横向悬浮并固定在顶部的功能,涉及jQuery事件响应及页面元素属性动态修改相关操作技巧,需要的朋友可以参考下
    2016-09-09
  • jQuery 插件封装的方法

    jQuery 插件封装的方法

    扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱,需要的朋友可以参考下
    2016-11-11

最新评论