`
kj23
  • 浏览: 26259 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

简单小巧的多级联动菜单

阅读更多
看到今天贴了几个联动菜单的帖子

这个应该大家都有各自比较好的代码了

我也顺手贴一个我们team里面用的比较小巧的代码

// author: downpour
var DoubleCombo = Class.create();

DoubleCombo.prototype = {
	
  initialize: function(source, target, ignore, url, options, excute) {
  	this.source = $(source);
  	this.target = $(target);
  	this.ignore = $A(ignore);
  	this.url = url;
  	this.options = $H(options);
  	this.source.onchange = this.doChange.bindAsEventListener(this);
  	if(excute) {
  		this.doChange();
  	}
  },
  
  doChange: function() {
	
	if(this.source.value != '') {
		
		// first clear the ignore ones
		this.ignore.each(
			function(value) {
				$(value).options.length = 1;
				$(value).options[0].selected = 'selected';
			}
		);
		
		// create parameter for ajax
		var query = $H({ id: this.source.value });
  	
  		var parameters = {
  			method: 'post', 
			parameters: $H(this.options).merge(query).toQueryString(), 
			onComplete: this.getResponse.bindAsEventListener(this)
  		}
  	
  		var locationRequest = new Ajax.Request( this.url, parameters );
	}
	
  },
  
  getResponse: function(request) {
  	this.target.options.length = 1;
  	this.target.options[0].selected = 'selected';
  	var response = $A(request.responseText.trim().split(';'));
  	response.length--;
  	for(var i = 0; i < response.length; i++) {
  		var optionParam = response[i].split(',');
  		this.target.options[this.target.options.length] = new Option(optionParam[1], optionParam[0]);
  	}
  }
}



简单说一下几个参数吧:
source  第一级菜单

target  联动菜单

ignore  当有时候3级联动时,例如 国家  省  市 例如上海没有省的,可以忽略第3级菜单

url     action url

options action参数

excute  是否联动


拿比较常见的例子来看   国家  省  市   3级联动来作为例子


<html-el:select property="country" styleId="country" >
	<html-el:options collection="countries" property="id" labelProperty="name" />
</html-el:select>


<html-el:select property="province" styleId="province">
	<option value="">--Please Select--</option>
         ................
</html-el:select>

<html-el:select property="city" styleId="city">
	<option value="">--Please Select--</option>
         ................
</html-el:select>


<script type="text/javascript">
	new DoubleCombo('country', 'province', null, '<c:url value="/xxxx.do?combo=true"></c:url>', {});

<script type="text/javascript">
	new DoubleCombo('province', 'city', null, '<c:url value="/xxxx.do?combo=true"></c:url>', {});
分享到:
评论
6 楼 cozone_柯中 2007-03-20  
收藏了.
5 楼 lintomny 2007-03-19  
to jesniper :
他使用prototype.js这个js库,这个在网上一搜就能找到了,是一个开源的js函数库。
LZ也是的,没有写清楚使用的外部函数库,有点不负责任了~~
4 楼 tiger.passion 2007-02-26  
帮忙解决下这个问题~
http://tiger-passion.iteye.com/blog/56026
3 楼 dearmite 2007-02-03  
好象是使用AJAX的意思。
2 楼 jesniper 2007-02-02  
这是什么呀,不能用呀?
1 楼 jesniper 2007-02-02  
这是什么东西呀?不能用呀

相关推荐

    ajax多级联动菜单

    【Ajax多级联动菜单】是一种常见的前端交互设计,它允许用户在选择某个菜单项时,自动更新下一级菜单的内容,以此类推,实现多级菜单之间的动态关联。这种技术广泛应用于网页表单填写、筛选器等场景,为用户提供更加...

    jQuery 多级联动菜单 div+css

    本文将深入探讨如何使用 jQuery 实现多级联动菜单,并以 "jQuery 多级联动菜单 div+css" 的实例进行解析。 首先,我们了解基础概念。`div` 是 HTML 中的一个布局容器,用于组织页面元素。`CSS`(层叠样式表)则负责...

    jquery实现多级联动菜单

    在网页设计中,多级联动菜单是一种常见的交互方式,它能有效地组织大量信息,帮助用户快速定位和访问所需内容。jQuery作为一个轻量级、功能强大的JavaScript库,是实现这种功能的理想选择。本教程将深入探讨如何使用...

    多级联动菜单 div+css +js

    在网页设计中,多级联动菜单是一种常见的交互元素,它能有效地组织大量信息,帮助用户在复杂的导航结构中快速定位。本项目以“多级联动菜单”为主题,结合了HTML的`div`元素、CSS样式以及JavaScript编程,来实现动态...

    ajax+json实现多级联动菜单

    ### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...

    多级联动菜单自动生成代码

    这是一个多级联运菜单自动生成程序,很好用的只要你输入你想要的几级数就可以自动生成了

    AS3多级联动菜单

    本项目涉及的是一个使用AS3实现的多级联动菜单。联动菜单通常指的是用户在选择一个选项后,其他相关联的下拉菜单会随之更新,以提供更精确的导航或选择。 在AS3中创建多级联动菜单,主要涉及到以下几个关键知识点:...

    多级联动菜单ASP代码

    在"多级联动菜单ASP代码"这个项目中,我们主要探讨如何使用ASP实现动态的多级菜单,这种菜单在用户交互中常见于网站导航,能够根据用户的操作展开或收起各级子菜单,提供更丰富的浏览体验。 首先,`index.asp`和`...

    JavaScript 自定义多级联动下拉菜单

    JavaScript 自定义多级联动下拉菜单

    melist多级联动下拉菜单可中文检索.rar

    在传统的下拉菜单中,用户只能在一个单一的层次上选择,而联动菜单则提供了更丰富的选择路径。这种菜单结构通常由父级和子级菜单项组成,当用户选择一个父级项时,相应的子级菜单会显示出来,形成一个联动效果。 ...

    中国省市县多级联动菜单省份城市县区三级级联菜单

    中国省市县多级联动菜单省份城市县区三级级联菜单,主要使用JAVASCRIPT编写,方便使用,其中在后台调用前台的菜单内容时,可以用Request["ID"] 来获取前台的值。

    jQuery多级联动菜单选中代码.zip

    本资源“jQuery多级联动菜单选中代码.zip”提供了一个使用jQuery和tnTreeBox.js插件实现的三级联动菜单的示例。这种功能常用于网站导航或数据筛选,为用户提供直观且易于操作的界面。 首先,让我们了解什么是联动...

    VBA设置多级下拉菜单.xlsm

    VBA设置多级下拉菜单.xlsm VBA设置动态多级下拉菜单.xlsm

    多款多级联动下拉菜单打包!必有一款适合你!

    标题中的“多款多级联动下拉菜单打包!必有一款适合你!”表明这是一个集合了多种实现多级联动下拉菜单技术的资源包,适用于不同的项目需求和开发环境。这样的菜单通常用于网站导航或者表单中,使得用户可以通过选择一...

    用prototype实现的简单小巧的多级联动菜单

    标题中的“用prototype实现的简单小巧的多级联动菜单”是指使用Prototype JavaScript库来创建一个功能简洁、体积小的多级选择菜单。Prototype是一个流行的JavaScript框架,它提供了一系列的工具和方法来简化DOM操作...

    JS多级联动浮动菜单

    在本案例中,我们探讨的是如何使用JavaScript实现多级联动浮动菜单。这种菜单常用于网站导航,它允许用户通过点击或悬停在不同级别的菜单项上,来展开下级菜单,提供更细化的操作选项。 1. **HTML结构**: - 在...

    安卓三级联动省市联动多级联动相关-android多级菜单经典demo.zip

    6. **MorelevelMenu**:这个可能是项目的主程序包名或者是关键类名,它可能包含了实现多级联动菜单的核心代码。在这个目录下,可能有如`LevelMenuAdapter`(适配器)、`LevelMenuActivity`(活动)和`LevelMenuItem`...

    全国省市县无刷新多级联动菜单

    全国省市县无刷新多级联动菜单是一种常见的网页交互设计,主要应用于用户在填写表单时选择地域信息的场景。这种菜单通常由一个下拉框触发,依次显示省、市、县(区)的选项,用户在选择上级选项后,下级选项会自动...

    JavaScript 自定义多级联动浮动菜单

    在网页设计中,多级联动浮动菜单是常见的一种交互元素,它能够帮助用户更方便地导航复杂的网站结构。本文将深入探讨如何使用JavaScript自定义这样的功能。 首先,我们需要理解多级联动的概念。联动意味着当用户在一...

Global site tag (gtag.js) - Google Analytics