有需要优化的地方吗
来源:7-8 编程练习
cj啦啦啦啦
2019-10-26 19:09:54
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="js对表单元素进行设置2.js"></script>
</head>
<body onload="address()">
<form>
省份:
<select name="sheng" id="sheng" onchange="linkage()"></select>
<!-- 请在此补充代码 -->
市/区:
<select name="shi" id="shi"></select>
<!-- 请在此补充代码 -->
</form>
</body>
</html>
var arrSheng=new Array("北京市","天津市","河北省","河南省");
var arrShi=new Array("朝阳区","西城区","西青区","武清区","石家庄","寒潭市","郑州市","开封市");
function address(){
var sheng=document.getElementById("sheng");
var shi=document.getElementById("shi");
for(var i=0;i<arrSheng.length;i++){
sheng.options.add(new Option(arrSheng[i],arrSheng[i]))
/*请在此补充代码*/
}
// for(var i=0;i<arrShi.length;i++){
// shi.options.add(new Option(arrShi[i],arrShi[i]))
// /*请在此补充代码*/
// }
}
function selectAdd(obj,name,value){
obj.options.add(new Option(name,value));
/*请在此补充代码*/
}
function linkage(){
var sheng=document.getElementById("sheng");
var shi=document.getElementById("shi");
var Sheng=sheng.value;
if(Sheng=="北京市"){
shi.options.length=0;
selectAdd(shi,arrShi[0],arrShi[0])
selectAdd(shi,arrShi[1],arrShi[1])
}
if(Sheng=="天津市"){
shi.options.length=0;
selectAdd(shi,arrShi[2],arrShi[2])
selectAdd(shi,arrShi[3],arrShi[3])
}
if(Sheng=="河北省"){
shi.options.length=0;
selectAdd(shi,arrShi[4],arrShi[4])
selectAdd(shi,arrShi[5],arrShi[5])
}
if(Sheng=="河南省"){
shi.options.length=0;
selectAdd(shi,arrShi[6],arrShi[6])
selectAdd(shi,arrShi[7],arrShi[7])
}
/*请在此补充代码*/
}
1回答
芝芝兰兰
2019-10-27
同学你好。整体完成的不错,有以下两点建议:
1、js命名不建议使用中文。建议使用见名知意的英文单词作为名字。
2、页面加载完成,还没有改变省份时,显示效果如下:

在address()中,建议直接拼出默认选项“北京市”对应的市区。显得更为合理好看:

function address(){
var sheng=document.getElementById("sheng");
var shi=document.getElementById("shi");
for(var i=0;i<arrSheng.length;i++){
sheng.options.add(new Option(arrSheng[i],arrSheng[i]))
/*请在此补充代码*/
}
/* 增加默认选项“北京市”对应的市区选项 */
selectAdd(shi,arrShi[0],arrShi[0])
selectAdd(shi,arrShi[1],arrShi[1])
// for(var i=0;i<arrShi.length;i++){
// shi.options.add(new Option(arrShi[i],arrShi[i]))
// /*请在此补充代码*/
// }
}如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题