时间:2021-05-18
使用prototype.js这个js库,这个在网上一搜就能找到了,是一个开源的js函数库。
看到今天贴了几个联动菜单的帖子
这个应该大家都有各自比较好的代码了
我也顺手贴一个我们team里面用的比较小巧的代码
//author:downpour
varDoubleCombo=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!=''){
//firstcleartheignoreones
this.ignore.each(
function(value){
$(value).options.length=1;
$(value).options[0].selected='selected';
}
);
//createparameterforajax
varquery=$H({id:this.source.value});
varparameters={
method:'post',
parameters:$H(this.options).merge(query).toQueryString(),
onComplete:this.getResponse.bindAsEventListener(this)
}
varlocationRequest=newAjax.Request(this.url,parameters);
}
},
getResponse:function(request){
this.target.options.length=1;
this.target.options[0].selected='selected';
varresponse=$A(request.responseText.trim().split(';'));
response.length--;
for(vari=0;i<response.length;i++){
varoptionParam=response[i].split(',');
this.target.options[this.target.options.length]=newOption(optionParam[1],optionParam[0]);
}
}
}
简单说一下几个参数吧:
source第一级菜单
target联动菜单
ignore当有时候3级联动时,例如国家省市例如上海没有省的,可以忽略第3级菜单
urlactionurl
optionsaction参数
excute是否联动
拿比较常见的例子来看国家省市3级联动来作为例子
代码
<html-el:selectproperty="country"styleId="country">
<html-el:optionscollection="countries"property="id"labelProperty="name"/>
</html-el:select>
<html-el:selectproperty="province"styleId="province">
<optionvalue="">--PleaseSelect--</option>
................
</html-el:select>
<html-el:selectproperty="city"styleId="city">
<optionvalue="">--PleaseSelect--</option>
................
</html-el:select>
<scripttype="text/javascript">
newDoubleCombo('country','province',null,'<c:urlvalue="/xxxx.do?combo=true"></c:url>',{});
<scripttype="text/javascript">
newDoubleCombo('province','city',null,'<c:urlvalue="/xxxx.do?combo=true"></c:url>',{});
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS简单实现多级Select联动菜单效果代码。分享给大家供大家参考。具体如下:JS联动菜单,简单代码实现JS多级Select联动菜单,也就是大家常
本文实例讲述了Yii实现的多级联动下拉菜单。分享给大家供大家参考,具体如下:1.视图文件getMemGroup(),array('class'=>'s_iptw
由于工作需求,想实现一个多级联动选择器,但是网上现有的联动选择器都不是我想要的,我参照基于vue2.0的element-ui中的Cascader级联选择器的样式
小颖在上一篇随笔中写了两级的tree,下面给大家再分享一下用标签实现省市多级联动。调用示例:importtreeviewfrom'./TreeView.vue'
本文实例讲述了JS简单实现城市二级联动选择插件的方法。分享给大家供大家参考。具体如下:js实现的城市联动选择菜单,网上经常见到,不多介绍了,本款城市选择菜单原型