为什么下拉框的selectedIndex的值是undefined?
<SCRIPT LANGUAGE="JAVASCRIPT">
var arrType = new Array();
var arrBrand = new Array();
var arrProduct = new Array();
var arrCom = new Array();
arrType[0] = new Array('0','4', 'mp3');
arrType[1] = new Array('0','5', 'mp4');
arrBrand[0] = new Array('4', '5', '联想');
arrBrand[1] = new Array('4', '6', '创新');
arrBrand[2] = new Array('5', '6', '创新');
arrProduct[0] = new Array('5', '1', '联想mp3');
arrProduct[1] = new Array('5', '4', '联想mp3');
arrProduct[2] = new Array('5', '5', 'test');
arrProduct[3] = new Array('6', '3', '联想mp3');
arrProduct[4] = new Array('6', '2', '创新a3');
arrCom[0] = new Array('1', '2', '九天成通');
arrCom[1] = new Array('4', '1', '九洲嘉园');
arrCom[2] = new Array('5', '1', '九洲嘉园');
arrCom[3] = new Array('3', '1', '九洲嘉园');
arrCom[4] = new Array('2', '1', '九洲嘉园');
function GetParent(src, tag)
{
if (src && src.tagName!=tag)
{
return(GetParent(src.parentElement, tag));
}
return src;
}
function GetSelectValue(oSelect)
{
alert(oSelect.selectedIndex);
if (oSelect.selectedIndex < 0) return 0;
return oSelect.options(oSelect.selectedIndex).value;
}
function body_onload()
{
var TD = GetParent(document.getElementById("s0"), "TD");
TD.innerHTML = MakeMenu(arrType, 0, 0, "s0", 1);
TD = GetParent(document.all("s1"), "TD");
TD.innerHTML = MakeMenu(arrBrand, GetSelectValue(document.getElementById("s0")), 0, "s1", 1);
TD = GetParent(document.all("s2"), "TD");
TD.innerHTML = MakeMenu(arrProduct, GetSelectValue(document.getElementById("s1")), 0, "s2", 1);
TD = GetParent(document.all("s3"), "TD");
TD.innerHTML = MakeMenu(arrCom, GetSelectValue(document.getElementById("s2")), 0, "s3", 1);
}
function MakeMenu(arrSub, pValue, cValue, name, bulSkip)
{
var sHTML = "<select name='" + name + "' onchange='SetSubMenu(this)' >";
if (bulSkip) sHTML += "<option value=0>请选择</option>";
for (var i=0; i < arrSub.length; i++)
{
if (arrSub[i][0]==pValue)
{
var tag = (arrSub[i][1]==cValue)?" selected>":">";
sHTML += "<option value='" + arrSub[i][1] + "'" + tag + arrSub[i][2] + "</option>";
}
}
sHTML += "</select>";
return sHTML;
}
function SetSubMenu(pSelect)
{
var oOption, sValue;
if (pSelect.selectedIndex < 0) return;
switch (pSelect.name)
{
case "s0":
var TD = GetParent(document.getElementById("s1"), "TD");
TD.innerHTML = MakeMenu(arrBrand, GetSelectValue("s0"), "0", "s1", 0);
TD = GetParent(document.getElementById("s2"), "TD");
TD.innerHTML = MakeMenu(arrProduct, GetSelectValue("s1"), "0", "s2", 0);
TD = GetParent(document.getElementById("s3"), "TD");
TD.innerHTML = MakeMenu(arrCom, GetSelectValue("s2"), "0", "s3", 0);
break;
case "s1":
var TD = GetParent(document.getElementById("s2"), "TD");
TD.innerHTML = MakeMenu(arrProduct, GetSelectValue("s1"), "0", "s2", 0);
TD = GetParent(document.getElementById("s3"), "TD");
TD.innerHTML = MakeMenu(arrCom, GetSelectValue("s2"), "0", "s3", 0);
break;
case "s2":
var TD = GetParent(document.getElementById("s3"), "TD");
TD.innerHTML = MakeMenu(arrCom, GetSelectValue("s2"), "0", "s3", 0);
break;
default:
}
}
</SCRIPT>
<BODY BGCOLOR="#FFFFFF" ONLOAD="body_onload()">
<table width="500" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><select name="s0" id="s0" onchange='SetSubMenu(this)'>
</select></td>
<td><select name="s1" id="s1" onchange='SetSubMenu(this)'>
</select></td>
<td><select name="s2" id="s2" onchange='SetSubMenu(this)'>
</select></td>
<td><select name="s3" id="s3" onchange='SetSubMenu(this)'>
</select></td>
</tr>
</table>
</BODY>
===================================================================
function GetSelectValue(oSelect)
{
alert(oSelect.selectedIndex);
if (oSelect.selectedIndex < 0) return 0;
return oSelect.options(oSelect.selectedIndex).value;
}
这里函数里面,调试的值是undefined,谁帮忙看看,是什么原因。