繁体   English   中英

代码中的错误,缺少JS中的基础知识

[英]Error in Code, missing basics in JS

嗨,我会尽量保持简短......上周我们开始在学校学习Javascript。 在我们学习HTML,CSS和Java之前(我知道它与JS无关,我只想提一下我应该知道语法,从老师告诉我们的内容)。

因此,我们开始为表单选择一天,一个月和一年的下拉列表。 然后代码看起来像这样:

    Day:
    <select name="day">
        <script type="text/javascript">
            var day;

            for(i=1;i<=31;i++){
                day += "<option value='"+i+"'>"+i+"</option>";
            }

            document.write(day);
        </script>
    </select>

这很有效。 但是我们的老师告诉我们关于Javascript的一个好处是使用方法等简化所有内容以避免重写事物。 我们不得不做一个月和一年的Drop-Down,所以我想我会在外部Javascript文件中创建一个函数。

这是功能:

    function date(start, end) {

     var dateV ="";

       for(start==i;i<=end;i++)
       dateV += "<option value='"+i+"'>"+i+"</option>";

    document.write(dateV);
    }

然后我在HTML文件中调用它:

    Day:
    <select name="day">
        <script type="text/javascript">
            date(1,31);
        </script>
    </select>

但这只显示一个空的下拉菜单。 我做错了什么? 我只是想知道它来理解Javascript的基础知识,因为我真的很想学习这个脚本。

谢谢你的帮助。

PS:对不起我的英语错误,不是我的主要语言......

看看你的date()函数:

function date(start, end) {

    var dateV ="";

    //  vvvvvvvv
    for(start==i;i<=end;i++)
        dateV += "<option value='"+i+"'>"+i+"</option>";

    document.write(dateV);
}

(variable == value)是有条件的,如果变量相等则返回true,如果不相等则返回false。 您想要将start == i更改为var i = start ,这意味着“ 通过创建变量i并将其设置为start的值来start循环

反过来,你最终会得到以下结果:

function date(start, end) {

    var dateV ="";

    for(var i = start;i<=end;i++)
        dateV += "<option value='"+i+"'>"+i+"</option>";

    document.write(dateV);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM