有段级联菜单的代码,js写的,里面的函数看不懂,求达人详细解释下~~~

<script>functionshowCity(){varay=[["南京","苏州","常州"],["马鞍山","黄山","芜湖"],["济南","青岛"]];//属... <script>
function showCity(){
var ay = [
["南京","苏州","常州"],
["马鞍山","黄山","芜湖"],
["济南","青岛"]
] ;
//属性
document.getElementById("city").length = 1 ;
var index = document.getElementById("pro").selectedIndex ;
var selectedAy = ay[index-1] ;
for(var i=0;i<selectedAy.length;i++){
//alert(selectedAy[i]) ;
var c = new Option(selectedAy[i],selectedAy[i]) ;
document.getElementById("city").add(c) ;
}
}
</script>

<center>
<h1>级联 菜单</h1>
<select id="pro" onchange="showCity();">
<option value="">--请选择省份--</option>
<option value="js">江苏</option>
<option value="ah">安徽</option>
<option value="sd">山东</option>
</select>

<select id="city">
<option value="">--请选择城市--</option>
</select>
</center>
//函数下面这段看不懂,第一行的长度为啥要是1啊,还有下面有些的方法
也看不懂 document.getElementById("city").length = 1 ;
var index = document.getElementById("pro").selectedIndex ;
var selectedAy = ay[index-1] ;
for(var i=0;i<selectedAy.length;i++){
//alert(selectedAy[i]) ;
var c = new Option(selectedAy[i],selectedAy[i]) ;
document.getElementById("city").add(c) ;
展开
 我来答
百度网友4b58662e56
2011-07-22 · TA获得超过163个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:142万
展开全部
document.getElementById("city").length = 1 ;//设置city的select只有第一个“请选择城市”那个选项,其实就是删掉其他的。
var index = document.getElementById("pro").selectedIndex ;//pro的select选的是哪一个
var selectedAy = ay[index-1] ;//对应pro的select选的省份所存在的城市,比如说你选择是江苏,
index =1,ay[0] = ["南京","苏州","常州"],就是江苏对应的城市。
for(var i=0;i<selectedAy.length;i++){
var c = new Option(selectedAy[i],selectedAy[i]) ;
document.getElementById("city").add(c) ;
}这个就很简单了,把江苏的那些城市加到city的select里面
然后pro的select重新选择的时候又可以重头清空只剩下第一个“请选择城市”
追问
document.getElementById("city")是数组吗?就是一个数组形式的量吗?为啥使他的长度 变成1就删掉其他的了?新手求解!!!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式