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

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

<!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回答

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

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

http://img1.sycdn.imooc.com//climg/5e9cfd140977ff0306330249.jpg

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

http://img1.sycdn.imooc.com//climg/5e9cfcfc098c4bb306460182.jpg

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

好帮手慕小尤 2020-04-19 16:26:37

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

http://img1.sycdn.imooc.com//climg/5e9c0a2b092fa88408760594.jpg

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

http://img1.sycdn.imooc.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]));
    }
}

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

  • 提问者 TOUU_JP #1
    谢谢老师 还想再问一下 为什么以下的两种写法都可以输出 有什么区别呢 obj.options.add(new Option(name[i])); obj.options.add(new Option(name[i],name[i]));
    2020-04-19 19:41:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师