为什么我在function里定义了一个没用的数组,会使得下拉列表里的内容失效

来源:7-6 编程练习

xxxxxxb

2019-12-07 23:08:55

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<script type="text/javascript" src="index.js"></script>

</head>

<body onload="address()">

<form>

省份:<select name="shengfen" id="sheng"></select>

市/区:<select name="shiqu" id="shi"></select>

</form>


</body>

</html>

-----------------------------------

function address(){

var s1=document.getElementById("sheng");

// var arraySf=[北京市","天津市"," 河南省","河北省"];

s1.options.add(new Option("1","1")); 

}

==========================================================

第二个问题是:这样写为什么不对

function address(){

var s1=document.getElementById("sheng");

var arraySf=[北京市","天津市"," 河南省","河北省"];

addSelect(s1,0,(arraySf.length-1));

}

function addSelect(obj,start,end){

for(var i=start;i<=end;i++){

obj.options.add(new Option(arraySf[i],arraySf[i]));

}

}


写回答

3回答

芝芝兰兰

2019-12-08

同学你好。

1、同学的第一种写法只是给下拉列表添加了一个值为1的option,尝试后,是可以正常显示的:

http://img.mukewang.com/climg/5deca9000994027f11010461.jpg


2、尝试同学的第二个js代码,修改后截图如下:

需要将数组的定义放到function之外,因为同学在第二个函数中也使用了这个数组。至于同学修改后没有生效,可能是浏览器自动备份了js文件,需要清除缓存。可以使用Ctrl+Shift+Delete清除浏览器缓存,然后重新打开页面再试。

http://img.mukewang.com/climg/5deca79f0968601412560837.jpg


如果解答了同学的疑问,望采纳~

祝学习愉快~

0

xxxxxxb

提问者

2019-12-07

难道是数组定义范围出错了?不过我把数组放在了两个函数外面也没用欸

0

xxxxxxb

提问者

2019-12-07

我发现北京那边少了个引号,不过还是想问下第二个为什么是错的

0

0 学习 · 9666 问题

查看课程