7-8实现不了效果喃?请老师帮检查一下

来源:7-8 编程练习

视线模糊

2020-04-18 16:02:29

选择省份的时候onchange没出效果。。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>7-6编程练习</title>

<script type="text/javascript" src="7-6.js"></script>

</head>

<body onload="address()">

<form>

<label>省份:</label><select name="sf" id="sf" onchange="selectChange()"></select>

<label>市/区:</label><select name="sq" id="sq"></select>

</form>

</body>

</html>

+++++++++++++++++++++++++++++++++++++++++++(分割)

// 定义数组保存省/市的名字

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

var sq1 = ["朝阳区", "西城区", "石家庄", "邯郸市", "西青区", "武清区", "郑州市", "开封市"];


function address() {

    //获取省份、市区

    var sf = document.getElementById("sf");

    var sq = document.getElementById("sq");


    selectAdd(sf, sf1, sf1);

    selectAdd(sq, sq1, sq1);

}


function selectAdd(obj, name, value) {

    for (var i = 0; i < name.length; i++) {

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

    }

}


//实现选择省份后,下拉菜单显示出所属城市

function selectChange() {


    var sf = document.getElementById("sf");

    var sq = document.getElementById("sq");

    sq.length = 0;

    if (sf.value == "北京市") {

        sq.options.add("朝阳区");

        sq.options.add("西城区");



    } else if (sf.value == "天津市") {

        sq.options.add("西青区");

        sq.options.add("武清区");

    } else if (sf.value == "河南省") {

        sq.options.add("开封市");

        sq.options.add("郑州市");


    } else if (sf.value == "河北省") {

        sq.options.add("邯郸市");

        sq.options.add("石家庄");

    }


}


写回答

1回答

好帮手慕小琪

2020-04-18

同学你好,同学的js代码中添加下拉框属性方法有误,应改为如下图所示:

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

同时我们第一次访问页面时,下拉框会显示不是北京市的城区,如下图:
http://img.mukewang.com/climg/5e9ac9c3095298b404360248.jpg

我们默认显示第一个北京市,所以同学可以将数组中其它不属于北京的城市去掉,代码如下图:

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

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 9666 问题

查看课程