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

时间:2014-02-18 20:15:56

标签: javascript

嗨,我会尽量保持简短...... 上周我们开始在学校学习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:对不起我的英语错误,不是我的主要语言......

1 个答案:

答案 0 :(得分:3)

查看您的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 的值”

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

function date(start, end) {

    var dateV ="";

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

    document.write(dateV);
}