?? menu.jsp
字號:
<HTML>
<title>TestAspPage</title>
<head></head>
<body onload="arrMain('S1');">
<SELECT NAME="S1" onchange="GetObj(this.options[selectedIndex].text ,'S2');" >
<OPTION value="0" selected>--請選擇--</OPTION>
</SELECT>
<SELECT NAME="S2" onchange="GetObj(this.options[selectedIndex].text,'S3');" disabled>
<OPTION value="0" selected >--請選擇--</OPTION>
</SELECT>
<SELECT NAME="S3" onchange="GetObj(this.options[selectedIndex].text,'S4');" disabled>
<OPTION value="0" selected >--請選擇--</OPTION>
</SELECT>
<SELECT NAME="S4" onchange="GetObj(this.options[selectedIndex].text,'S5');" disabled>
<OPTION value="0" selected >--請選擇--</OPTION>
</SELECT>
<SELECT NAME="S5" disabled>
<OPTION value="0" selected >--請選擇--</OPTION>
</SELECT>
<script language="javascript">
<!--//輸入腳本內容
var t_list = new Array();//列值數(shù)組
var x_list = new Array();//列文本數(shù)組
//此處可以使用ASP來循環(huán)計數(shù)輸出該數(shù)組
for(i=0;i<10;i++){
t_list[i] = i+1;
x_list[i] = "[項"+i+"]";
}
//--->
</script>
<script language="javascript">
<!--//輸入腳本內容
function arrMain(ob){//初始化首選項目
var x = eval(ob);
var l = t_list.length;
for(i=0;i<l;i++){//循環(huán)增加主列表項目
init(x,x_list[i],t_list[i]);
}//循環(huán)結束
}//結束初始化首選項目
//--->
</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 = "--請選擇--";//目標文本數(shù)據(jù)
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;//目標文本數(shù)據(jù)
oOption.value = y;//目標值
}
function checkIsDisabled(ob){//判斷需要禁用的列項函數(shù)開始
//**********引用說明開始***************//
//將代碼向后添加引用方式
//var a-n =eval(object);定義N個項目對象
//**********引用說明結束**************//
var a = eval('S1');//定義級聯(lián)選項,項目名稱 對應表單的項目一
var b = eval('S2');//定義級聯(lián)選項,項目名稱 對應表單的項目二
var c = eval('S3');//定義級聯(lián)選項,項目名稱 對應表單的項目三
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項相等才成立
//條件成立后需要將之后的各項全部置為只讀并且清空內部數(shù)據(jù)
//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結束
}//函數(shù)結束
function ClearOption(ob){//清除選項
var l = ob.length;
ob.disabled=true;
for(i=1;i<l;l--){ob.remove(i);}
}
//--->
</script>
</body>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -