js多级菜单 高分求js多级菜单源码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnbruce.com/blog/showlog.asp?log_id=1086 http://www.rocsky.net/blog/read.php/58.htm http://ajax.cnrui.cn/article/1/3/2006/20060601188.shtml 代码 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 urloptions 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>', {}); 感谢2位!xiyuan1999的这个代码我看不懂,不知道怎么用啊 在tomcat里配置servlet,同样的配置方法,有一个调不到servlet类? jquery如何获取一组select的值 请教关于Rainbow公司iKey1000的开发 。。。 EL表达式能进行转码吗? jsp页面上有多个checkbox是可多选的,js如何获得被选中的checkbox的值,并将值作为参数传给后台 关于JVM虚拟机文件的问题~~~ Struts2访问action的问题 大神们快来~ 从mysql中读取clob数据显示乱码 开始了。。。。。。。。 如何编写javabeans以及详细的存放目录? jsp乱码处理 关于打包JAR文件的问题
代码
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 urloptions 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>', {});