• Jquery Select 插件 lyhucSelect 数据联动


    数据源:
     

    View Code

    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'});
    效果:

  • 相关阅读:
    利用outlook发送邮件的代码,其实就一句话,哈哈~~
    一个或多个数据库无法访问,因而不会在数据库访问选项卡中显示
    窗口碰壁弹回的浮动广告代码
    DataFormatString格式化数据及格式化时间失效的问题
    弹出并转向代码
    常用运行命令
    post和get
    自己总结的手动生成gridview导出excel的方法
    Spring boot download file
    RESTful WebService 入门实例
  • 原文地址:https://www.cnblogs.com/hubj/p/1998284.html
Copyright © 2020-2023  润新知