<script type="text/javascript">
<!--
// 创建一个数组,来分别保存每个国家的城市
var cities = new Array(4);cities["Australia"] =
["Sydney", "Melbourne", "Canberra", "Perth", "Brisbane"];
cities["France"] =
["Paris", "Lyons", "Nice", "Dijon"];
cities["Japan"] = ["Tokyo", "Kyoto", "Osaka", "Nara"];cities["New Zealand"] =
["Auckland", "Wellington", "Christchurch", "Dunedin", "Queenstown"];function removeOptions(optionMenu)
{
//alert("----"+optionMenu.options.length);
for (var i=0; i < optionMenu.options.length; i++)
{
//alert("optionMenu.options[i]=="+optionMenu.options[i].value+i+"<<<optionMenu.options.length==>"+optionMenu.options.length);
optionMenu.options[i] = null;
}
}function addOptions(optionList, optionMenu)
{
//alert(optionMenu.value);
//removeOptions(optionMenu); // 清除选项+
for (var i=0; i < optionList.length; i++) optionMenu[i] = new Option(optionList[i], optionList[i]);
}
//-->
</script>
</head>
<body>
<h1>级联选择示例</h1>
<h2>请选择:</h2>
<form name="testform" id="testform" action="#" method="get">
国家:
<select name="country" id="country"
onchange="addOptions(cities[this.options[this.selectedIndex].text], document.testform.city);">
<option selected="selected">Australia</option>
<option>France</option>
<option>Japan</option>
<option>New Zealand</option>
</select>
<p>
城市:
<select name="city" id="city">
<option>Sydney</option>
<option>Melbourne</option>
<option>Canberra</option>
<option>Perth</option>
<option>Brisbane</option>
</select>
</form>
</body>
</html>[i]);
在上面的optionMenu[i] = new Option(optionList[i], optionList[i]);中Option为什么两个参数,各表示什么,谢谢
还有for (var i=0; i < optionMenu.options.length; i++)这点不明白为什么我在for循环里面打印出来optionMenu.options.length值是改变的
<!--
// 创建一个数组,来分别保存每个国家的城市
var cities = new Array(4);cities["Australia"] =
["Sydney", "Melbourne", "Canberra", "Perth", "Brisbane"];
cities["France"] =
["Paris", "Lyons", "Nice", "Dijon"];
cities["Japan"] = ["Tokyo", "Kyoto", "Osaka", "Nara"];cities["New Zealand"] =
["Auckland", "Wellington", "Christchurch", "Dunedin", "Queenstown"];function removeOptions(optionMenu)
{
//alert("----"+optionMenu.options.length);
for (var i=0; i < optionMenu.options.length; i++)
{
//alert("optionMenu.options[i]=="+optionMenu.options[i].value+i+"<<<optionMenu.options.length==>"+optionMenu.options.length);
optionMenu.options[i] = null;
}
}function addOptions(optionList, optionMenu)
{
//alert(optionMenu.value);
//removeOptions(optionMenu); // 清除选项+
for (var i=0; i < optionList.length; i++) optionMenu[i] = new Option(optionList[i], optionList[i]);
}
//-->
</script>
</head>
<body>
<h1>级联选择示例</h1>
<h2>请选择:</h2>
<form name="testform" id="testform" action="#" method="get">
国家:
<select name="country" id="country"
onchange="addOptions(cities[this.options[this.selectedIndex].text], document.testform.city);">
<option selected="selected">Australia</option>
<option>France</option>
<option>Japan</option>
<option>New Zealand</option>
</select>
<p>
城市:
<select name="city" id="city">
<option>Sydney</option>
<option>Melbourne</option>
<option>Canberra</option>
<option>Perth</option>
<option>Brisbane</option>
</select>
</form>
</body>
</html>[i]);
在上面的optionMenu[i] = new Option(optionList[i], optionList[i]);中Option为什么两个参数,各表示什么,谢谢
还有for (var i=0; i < optionMenu.options.length; i++)这点不明白为什么我在for循环里面打印出来optionMenu.options.length值是改变的
添加到select中,length当然是变化的了