簡體   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