ASP 二级下拉菜单
我现在做一个注册页面当中用到了2级下拉菜单。现在想求教达人们怎么做这个2级下拉菜单。当我第一个菜单中有很多值的时候如很多省份:安徽,江苏,浙江,当我选择的时候2级下拉菜单...
我现在做一个注册页面 当中用到了2级下拉菜单。 现在想求教达人们 怎么做这个2级下拉菜单。 当我第一个菜单中有很多值的时候
如很多省份: 安徽,江苏,浙江, 当我选择的时候 2级下拉菜单的值要求变更 当我选择安徽的时候第2个下拉菜单里面会出现 合肥 芜湖 马鞍山 等, 当我选择江苏的时候第2个下拉菜单里面会出现 苏州 南京 等。 这个效果怎么实现啊?求教各位达人。。谢谢。。 展开
如很多省份: 安徽,江苏,浙江, 当我选择的时候 2级下拉菜单的值要求变更 当我选择安徽的时候第2个下拉菜单里面会出现 合肥 芜湖 马鞍山 等, 当我选择江苏的时候第2个下拉菜单里面会出现 苏州 南京 等。 这个效果怎么实现啊?求教各位达人。。谢谢。。 展开
2个回答
展开全部
代码如下,请参考:
<HTML><HEAD><TITLE>TestAspPage</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2900.2769" name=GENERATOR></HEAD>
<BODY onload="arrMain('S1');"><SELECT
onchange="GetObj(this.options[selectedIndex].text ,'S2');" name=S1> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S3');" name=S2> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S4');" name=S3> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S5');" name=S4> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled name=S5> <OPTION
value=0 selected>--请选择--</OPTION></SELECT>
<SCRIPT language=javascript>
<!--//输入脚本内容
var t_list = new Array();//列值数组
var x_list = new Array();//列文本数组
//此处可以使用ASP来循环计数输出该数组
//for(i=0;i<10;i++){
t_list[0] = 1;
x_list[0] = '项1';
t_list[1] = 2;
x_list[1] = '项2';
t_list[2] = 3;
x_list[2] = '项3';
//}
//--->
</SCRIPT>
<SCRIPT language=javascript>
<!--//输入脚本内容
function arrMain(ob){//初始化首选项目
var x = eval(ob);
var l = t_list.length;
for(i=0;i<l;i++){//循环增加主列表项目
init(x,x_list[i],t_list[i]);
}//循环结束
}//结束初始化首选项目
//--->
</SCRIPT>
<SCRIPT language=javascript>
<!--//输入脚本内容
function GetObj(v,ob){//
var o = eval(ob);
checkIsDisabled(o);
if(v=='--请选择--'){
ClearOption(o);
var l = o.length;
for(j=-1;l>j;l--){o.remove(l);}
var oOption = document.createElement("OPTION");
o.options.add(oOption);//开始增加
oOption.innerText = "--请选择--";//目标文本数据
oOption.value = "0";//目标值
oOption.selected = true;
o.disabled=true;
}//如果选择默认项则不进行操作
else{//选择项目进行操作
for(i=0;i<10;i++){
t_list[i] = i+1;
x_list[i] = v+"->"+"[项"+i+"]";
}
ClearOption(o);
arrMain(ob);
o.disabled=false;
}
}//结束
function init(ob,x,y){//给SELECT赋值项
var oOption = document.createElement("OPTION"); //设置需要增加OPTION的目标对像
ob.options.add(oOption);//开始增加
oOption.innerText = x;//目标文本数据
oOption.value = y;//目标值
}
function checkIsDisabled(ob){//判断需要禁用的列项函数开始
//**********引用说明开始***************//
//将代码向后添加引用方式
//var a-n =eval(object);定义N个项目对象
//**********引用说明结束**************//
var a = eval('S1');//定义级联选项,项目名称 对应表单的项目一
var b = eval('S2');//定义级联选项,项目名称 对应表单的项目二
var c = eval('S3');//定义级联选项,项目名称 对应表单的项目三
var d = eval('S4');//引用1
var e = eval('S5');//引用2
//如果第1列未选择则
if(a.value==0){//判断第1选项是否值为0,真则将其它所有先项置为只读
ClearOption(b);
b.disabled = true;
ClearOption(c);
c.disabled= true;
ClearOption(d);//引用1
d.disabled = true;//引用1
ClearOption(e);//引用2
e.disabled = true;//引用2
//**********引用说明开始***************//
//将代码向后添加引用方式
//ClearOption(object); //清除目标行
//object.disabled = true;//目标设置为只读
//**********引用说明结束**************//
}//判断选项1值为0结束
if(a.value!==0 && ob == b){//判断需要禁用的选项目
//**********引用说明开始***************//
//将代码向后添加引用方式
//此处条件为 首列值不为0,并且当前选中项目要与第N项相等才成立
//条件成立后需要将之后的各项全部置为只读并且清空内部数据
//ClearOption(object); //清除目标行
//object.disabled = true;//目标设置为只读
//**********引用说明结束**************//
ClearOption(c);
c.disabled = true;
ClearOption(d);//引用1
d.disabled = true;//引用1
ClearOption(e);//引用2
e.disabled = true;//引用2
}//判断需要禁用的选项目结束
if(b.value!==0 && ob == c)//引用方式1
{
ClearOption(d);d.disabled = true;
ClearOption(e);e.disabled = true;
}//引用方式1结束
if(c.value!==0 && ob == d)//引用方式2
{ClearOption(e);e.disabled = true;}//引用方式2结束
}//函数结束
function ClearOption(ob){//清除选项
var l = ob.length;
ob.disabled=true;
for(i=1;i<l;l--){ob.remove(i);}
}
//--->
</SCRIPT>
</BODY></HTML>
<HTML><HEAD><TITLE>TestAspPage</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2900.2769" name=GENERATOR></HEAD>
<BODY onload="arrMain('S1');"><SELECT
onchange="GetObj(this.options[selectedIndex].text ,'S2');" name=S1> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S3');" name=S2> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S4');" name=S3> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled
onchange="GetObj(this.options[selectedIndex].text,'S5');" name=S4> <OPTION
value=0 selected>--请选择--</OPTION></SELECT> <SELECT disabled name=S5> <OPTION
value=0 selected>--请选择--</OPTION></SELECT>
<SCRIPT language=javascript>
<!--//输入脚本内容
var t_list = new Array();//列值数组
var x_list = new Array();//列文本数组
//此处可以使用ASP来循环计数输出该数组
//for(i=0;i<10;i++){
t_list[0] = 1;
x_list[0] = '项1';
t_list[1] = 2;
x_list[1] = '项2';
t_list[2] = 3;
x_list[2] = '项3';
//}
//--->
</SCRIPT>
<SCRIPT language=javascript>
<!--//输入脚本内容
function arrMain(ob){//初始化首选项目
var x = eval(ob);
var l = t_list.length;
for(i=0;i<l;i++){//循环增加主列表项目
init(x,x_list[i],t_list[i]);
}//循环结束
}//结束初始化首选项目
//--->
</SCRIPT>
<SCRIPT language=javascript>
<!--//输入脚本内容
function GetObj(v,ob){//
var o = eval(ob);
checkIsDisabled(o);
if(v=='--请选择--'){
ClearOption(o);
var l = o.length;
for(j=-1;l>j;l--){o.remove(l);}
var oOption = document.createElement("OPTION");
o.options.add(oOption);//开始增加
oOption.innerText = "--请选择--";//目标文本数据
oOption.value = "0";//目标值
oOption.selected = true;
o.disabled=true;
}//如果选择默认项则不进行操作
else{//选择项目进行操作
for(i=0;i<10;i++){
t_list[i] = i+1;
x_list[i] = v+"->"+"[项"+i+"]";
}
ClearOption(o);
arrMain(ob);
o.disabled=false;
}
}//结束
function init(ob,x,y){//给SELECT赋值项
var oOption = document.createElement("OPTION"); //设置需要增加OPTION的目标对像
ob.options.add(oOption);//开始增加
oOption.innerText = x;//目标文本数据
oOption.value = y;//目标值
}
function checkIsDisabled(ob){//判断需要禁用的列项函数开始
//**********引用说明开始***************//
//将代码向后添加引用方式
//var a-n =eval(object);定义N个项目对象
//**********引用说明结束**************//
var a = eval('S1');//定义级联选项,项目名称 对应表单的项目一
var b = eval('S2');//定义级联选项,项目名称 对应表单的项目二
var c = eval('S3');//定义级联选项,项目名称 对应表单的项目三
var d = eval('S4');//引用1
var e = eval('S5');//引用2
//如果第1列未选择则
if(a.value==0){//判断第1选项是否值为0,真则将其它所有先项置为只读
ClearOption(b);
b.disabled = true;
ClearOption(c);
c.disabled= true;
ClearOption(d);//引用1
d.disabled = true;//引用1
ClearOption(e);//引用2
e.disabled = true;//引用2
//**********引用说明开始***************//
//将代码向后添加引用方式
//ClearOption(object); //清除目标行
//object.disabled = true;//目标设置为只读
//**********引用说明结束**************//
}//判断选项1值为0结束
if(a.value!==0 && ob == b){//判断需要禁用的选项目
//**********引用说明开始***************//
//将代码向后添加引用方式
//此处条件为 首列值不为0,并且当前选中项目要与第N项相等才成立
//条件成立后需要将之后的各项全部置为只读并且清空内部数据
//ClearOption(object); //清除目标行
//object.disabled = true;//目标设置为只读
//**********引用说明结束**************//
ClearOption(c);
c.disabled = true;
ClearOption(d);//引用1
d.disabled = true;//引用1
ClearOption(e);//引用2
e.disabled = true;//引用2
}//判断需要禁用的选项目结束
if(b.value!==0 && ob == c)//引用方式1
{
ClearOption(d);d.disabled = true;
ClearOption(e);e.disabled = true;
}//引用方式1结束
if(c.value!==0 && ob == d)//引用方式2
{ClearOption(e);e.disabled = true;}//引用方式2结束
}//函数结束
function ClearOption(ob){//清除选项
var l = ob.length;
ob.disabled=true;
for(i=1;i<l;l--){ob.remove(i);}
}
//--->
</SCRIPT>
</BODY></HTML>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询