请问老师为什么我的表示不出来

来源:7-6 编程练习

TOUU_JP

2020-04-19 16:04:25

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="index.js"></script>
</head>
<body onload="address()">
    <form>
        省份:
        <select>
            <option name = "shengfen" id = "shengfen" value="1"></option>
        </select>
        市/区:
        <select>
            <option name = "shi" id = "shi" value="1"></option>
        </select>
    </form>
</body>
</html>

function dis(){
    var shengfen = document.getElementById("shengefen");
    var shi = document.getElementById("shi");
    var sfnr = new Array("北京市","天津市","河北省","河南省");
    var shnr = new Array("朝阳区","西城区","邯郸市","开封市");
    add(shengefen,sfnr);
    add(shi,shnr);
}

function add(obj,name){
    for(var i = 0; i < name.length; i++){
        obj.options.add(new Option(name[i],name[i]));
    }
}

写回答

2回答

好帮手慕小尤

2020-04-20

同学你好,1. Option(必选:文本, 可选:value值)添加option

2. 当new Option()只有一个参数时,则只设置了标签中的值。如下所示:

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

第二个参数代表了value值(默认值),所以当传递两个参数时,则为option标签设置了value值(默认值),如下所示:

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

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

0

好帮手慕小尤

2020-04-19

同学你好,1. 未定义address()方法,建议同学调用dis()方法,并建议将class与id属性定义到select标签中。修改后代码如下所示:

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

2. shengfen书写错误导致id获取失败,建议同学修改为document.getElementById("shengfen");,并在调用add()方法时shengfen变量书写错误,建议同学修改为shengfen。修改后代码如下所示:

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="index.js"></script>
</head>
<body onload="dis()">
    <form>
        省份:
        <select name = "shengfen" id = "shengfen" value="1">
            <option ></option>
        </select>
        市/区:
        <select  name = "shi" id = "shi" value="1">
            <option></option>
        </select>
    </form>
</body>
</html>
function dis(){
    var shengfen = document.getElementById("shengfen");
    var shi = document.getElementById("shi");
    var sfnr = new Array("北京市","天津市","河北省","河南省");
    var shnr = new Array("朝阳区","西城区","邯郸市","开封市");
    add(shengfen,sfnr);
    add(shi,shnr);
}

function add(obj,name){
    for(var i = 0; i < name.length; i++){
        obj.options.add(new Option(name[i],name[i]));
    }
}

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

0
hOUU_JP
h 谢谢老师 还想再问一下 为什么以下的两种写法都可以输出 有什么区别呢 obj.options.add(new Option(name[i])); obj.options.add(new Option(name[i],name[i]));
h020-04-19
共1条回复

0 学习 · 9666 问题

查看课程