onchange的时候将option的value(或text)保存到全局变量中,然后在需要的地方引用该全局变量的值。
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="Javascript">
function fnSetSubItem_Combo(objCombo,objSubCombo,arrSubItems,strDefValue){
var i;
var bFound; fnClearCombo(objSubCombo); bFound=false;
for(i=0;i<arrSubItems.length;i++){
if(arrSubItems[i][1] + "" == objCombo.value + ""){
var oOption = document.createElement("OPTION");
objSubCombo.options.add(oOption);
oOption.text = arrSubItems[i][2];
oOption.value = arrSubItems[i][0];
if(strDefValue + "" == oOption.value + ""){
oOption.selected=true;
}
bFound=true;
}
}
if(!bFound && objSubCombo.options.length == 0)
objSubCombo.disabled=true;
else
objSubCombo.disabled=false;
//alert(objSubCombo.onchange());
if(objSubCombo.onchange)
objSubCombo.onchange();
}function fnClearCombo(objCombo){
var i,intLen;
//objCombo.selectedIndex=-1;
if(objCombo.Proced ==1){
intLen=objCombo.options.length;
for(i=0;i<intLen-objCombo.FirstIdx;i++){
objCombo.options[objCombo.FirstIdx]=null;
//objCombo.options.remove(0);
}
}
else{
objCombo.FirstIdx=objCombo.options.length;
objCombo.Proced =1;
}
}function fnSetCityProv(objParObj,objSubObj,arrCPC){
objSubObj.options.length=0;
//取得当前选中的ID,递归取得所有子ID
for(i=0;i<arrCPC.length;i++){
if(arrCPC[i][0] == objParObj.value){
objSubObj.options[objSubObj.options.length]=new Option(arrCPC[i][2],arrCPC[i][0]);
}
} fnGetCPCSubItems(objParObj,objSubObj,arrCPC,objParObj.value,0);
}
function fnGetCPCSubItems(objParObj,objSubObj,arrCPC,intParID,intLV){
var i;
var strCaption;
for(i=0;i<arrCPC.length;i++){
if(arrCPC[i][1] == intParID){
switch(intLV){
case 0:strCaption=" --" + arrCPC[i][2];break;
case 1:strCaption=" --" +arrCPC[i][2];break;
} objSubObj.options[objSubObj.options.length]=new Option(strCaption,arrCPC[i][0]);
if(intLV <= 1)
fnGetCPCSubItems(objParObj,objSubObj,arrCPC,arrCPC[i][0],intLV+1)
}
}
}
</script>
<script language="Javascript">
//生成数组
function fnCreateArray(intHeight,intWidth){
var i,arrRet;
arrRet=new Array(intHeight);
for(i=0;i<intHeight;i++){
arrRet[i] = new Array(intWidth);
}
return arrRet;
}</script>
<script language="Javascript">
<!--
/****Book Array(图书数组)******/
var arrBook;
arrBook=fnCreateArray(9,3);
arrBook[0][0]="1";//子项value
arrBook[0][1]="001";//父项value
arrBook[0][2]="少儿科普读物";//子项text
arrBook[1][0]="2";
arrBook[1][1]="001";
arrBook[1][2]="儿童简笔画";
arrBook[2][0]="3";
arrBook[2][1]="001";
arrBook[2][2]="格林童话";
arrBook[3][0]="4";
arrBook[3][1]="001";
arrBook[3][2]="安徒生童话选";arrBook[4][0]="1";
arrBook[4][1]="002";
arrBook[4][2]="网络程序设计ASP";
arrBook[5][0]="2";
arrBook[5][1]="002";
arrBook[5][2]="C++程序设计";arrBook[6][0]="1";
arrBook[6][1]="003";
arrBook[6][2]="中国茶艺";
arrBook[7][0]="2";
arrBook[7][1]="003";
arrBook[7][2]="毛衣编织300例";
arrBook[8][0]="3";
arrBook[8][1]="003";
arrBook[8][2]="园艺指南";
/**************初始化联动下拉框*****************/
function fnStart(){
fnSetSubItem_Combo(document.form1.press,document.form1.book,arrBook,"1");
}
window.onload=fnStart;
//-->
</script><script>
var select1value='001';
var select2value='1';
var select1text='少儿出版社';
var select2text='少儿科普读物';
function show1(obj,book,arrBook){
fnSetSubItem_Combo(obj,book,arrBook)
select1value=obj.options[obj.selectedIndex].value;
select1text=obj.options[obj.selectedIndex].text;
form1.valueshow.value=select1value+"-"+select2value;
form1.textshow.value=select1text+"-"+select2text;
}
function show2(obj){
select2value=obj.options[obj.selectedIndex].value;
select2text=obj.options[obj.selectedIndex].text;
form1.valueshow.value=select1value+"-"+select2value;
form1.textshow.value=select1text+"-"+select2text;
}</script></HEAD><BODY>
<form name="form1">
书名:<select name="press" onChange="show1(this,book,arrBook);" style="width:120px;">
<option value="001" selected >少儿出版社</option><option value="002">清华大学出版社</option><option value="003">时代出版社</option>
</select><select name="book" style="width:150px;" onchange="show2(this);"></select> <input name="valueshow" value="这里显示值"> <input name="textshow" value="这里显示文本" size="50"> <a href="#" onclick="window.open('info.php?aid='+select1value+'&bid='+select2value,'','width=400,height=200');">链接</a>
</form>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="Javascript">
function fnSetSubItem_Combo(objCombo,objSubCombo,arrSubItems,strDefValue){
var i;
var bFound; fnClearCombo(objSubCombo); bFound=false;
for(i=0;i<arrSubItems.length;i++){
if(arrSubItems[i][1] + "" == objCombo.value + ""){
var oOption = document.createElement("OPTION");
objSubCombo.options.add(oOption);
oOption.text = arrSubItems[i][2];
oOption.value = arrSubItems[i][0];
if(strDefValue + "" == oOption.value + ""){
oOption.selected=true;
}
bFound=true;
}
}
if(!bFound && objSubCombo.options.length == 0)
objSubCombo.disabled=true;
else
objSubCombo.disabled=false;
//alert(objSubCombo.onchange());
if(objSubCombo.onchange)
objSubCombo.onchange();
}function fnClearCombo(objCombo){
var i,intLen;
//objCombo.selectedIndex=-1;
if(objCombo.Proced ==1){
intLen=objCombo.options.length;
for(i=0;i<intLen-objCombo.FirstIdx;i++){
objCombo.options[objCombo.FirstIdx]=null;
//objCombo.options.remove(0);
}
}
else{
objCombo.FirstIdx=objCombo.options.length;
objCombo.Proced =1;
}
}function fnSetCityProv(objParObj,objSubObj,arrCPC){
objSubObj.options.length=0;
//取得当前选中的ID,递归取得所有子ID
for(i=0;i<arrCPC.length;i++){
if(arrCPC[i][0] == objParObj.value){
objSubObj.options[objSubObj.options.length]=new Option(arrCPC[i][2],arrCPC[i][0]);
}
} fnGetCPCSubItems(objParObj,objSubObj,arrCPC,objParObj.value,0);
}
function fnGetCPCSubItems(objParObj,objSubObj,arrCPC,intParID,intLV){
var i;
var strCaption;
for(i=0;i<arrCPC.length;i++){
if(arrCPC[i][1] == intParID){
switch(intLV){
case 0:strCaption=" --" + arrCPC[i][2];break;
case 1:strCaption=" --" +arrCPC[i][2];break;
} objSubObj.options[objSubObj.options.length]=new Option(strCaption,arrCPC[i][0]);
if(intLV <= 1)
fnGetCPCSubItems(objParObj,objSubObj,arrCPC,arrCPC[i][0],intLV+1)
}
}
}
</script>
<script language="Javascript">
//生成数组
function fnCreateArray(intHeight,intWidth){
var i,arrRet;
arrRet=new Array(intHeight);
for(i=0;i<intHeight;i++){
arrRet[i] = new Array(intWidth);
}
return arrRet;
}</script>
<script language="Javascript">
<!--
/****Book Array(图书数组)******/
var arrBook;
arrBook=fnCreateArray(9,3);
arrBook[0][0]="1";//子项value
arrBook[0][1]="001";//父项value
arrBook[0][2]="少儿科普读物";//子项text
arrBook[1][0]="2";
arrBook[1][1]="001";
arrBook[1][2]="儿童简笔画";
arrBook[2][0]="3";
arrBook[2][1]="001";
arrBook[2][2]="格林童话";
arrBook[3][0]="4";
arrBook[3][1]="001";
arrBook[3][2]="安徒生童话选";arrBook[4][0]="1";
arrBook[4][1]="002";
arrBook[4][2]="网络程序设计ASP";
arrBook[5][0]="2";
arrBook[5][1]="002";
arrBook[5][2]="C++程序设计";arrBook[6][0]="1";
arrBook[6][1]="003";
arrBook[6][2]="中国茶艺";
arrBook[7][0]="2";
arrBook[7][1]="003";
arrBook[7][2]="毛衣编织300例";
arrBook[8][0]="3";
arrBook[8][1]="003";
arrBook[8][2]="园艺指南";
/**************初始化联动下拉框*****************/
function fnStart(){
fnSetSubItem_Combo(document.form1.press,document.form1.book,arrBook,"1");
}
window.onload=fnStart;
//-->
</script><script>
var select1value='001';
var select2value='1';
var select1text='少儿出版社';
var select2text='少儿科普读物';
function show1(obj,book,arrBook){
fnSetSubItem_Combo(obj,book,arrBook)
select1value=obj.options[obj.selectedIndex].value;
select1text=obj.options[obj.selectedIndex].text;
form1.valueshow.value=select1value+"-"+select2value;
form1.textshow.value=select1text+"-"+select2text;
}
function show2(obj){
select2value=obj.options[obj.selectedIndex].value;
select2text=obj.options[obj.selectedIndex].text;
form1.valueshow.value=select1value+"-"+select2value;
form1.textshow.value=select1text+"-"+select2text;
}</script></HEAD><BODY>
<form name="form1">
书名:<select name="press" onChange="show1(this,book,arrBook);" style="width:120px;">
<option value="001" selected >少儿出版社</option><option value="002">清华大学出版社</option><option value="003">时代出版社</option>
</select><select name="book" style="width:150px;" onchange="show2(this);"></select> <input name="valueshow" value="这里显示值"> <input name="textshow" value="这里显示文本" size="50"> <a href="#" onclick="window.open('info.php?aid='+select1value+'&bid='+select2value,'','width=400,height=200');">链接</a>
</form>
</BODY>
</HTML>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货