Javascript:使用按钮Onclick函数创建多个Li项目

问题描述 投票:0回答:1

我正在尝试创建一个应用程序,以根据输入的数字显示一定数量的列表项(即3 = 3个列表项)。到目前为止,我只能使用onClick函数创建一个显示一个列表项的函数。无论我使用什么代码,我都无法找到一种通过单击按钮即可创建多个列表项的方法。这是我当前的代码,HTML:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <section>
       <header>Week 5 Assignment</header>
       <section>
           <label>Name: <input type="text" id="nameInput" value="Enter a Name"></label>
       </section>
    <section>
        <label>Num of Times: <input type="number" id="numInput" value="Enter Number"></label>
        <section>
           <ol id="nameOutput"></ol>
           <hr>
          <button onclick="displayName();">Display Name!</button> 
          <button>Reset</button> 
       </section>
    </section>
   </section>

    <script src="script.js"></script>
</body>
</html>

还有我的JS:

    var name = document.getElementById("nameInput").value;
    console.log(name);

    var num = document.getElementById("numInput").value;

    var list = document.getElementById("nameOutput");

    var item = document.createElement("li");

    item.innerText = name;
    list.append(item);
}
javascript html button html-lists
1个回答
0
投票

JavaScript For循环应该可以满足您要实现的目标

  <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
       <section>
           <header>Week 5 Assignment</header>
           <section>
               <label>Name: <input type="text" id="nameInput" value="Enter a Name"></label>
           </section>
        <section>
            <label>Num of Times: <input type="number" id="numInput" value="Enter Number"></label>
            <section>
               <ol id="nameOutput"></ol>
               <hr>
              <button onclick="displayName();">Display Name!</button> 
              <button>Reset</button> 
           </section>
        </section>
       </section>

        <script src="script.js"></script>
    </body>
    </html>
    <script>
    function displayName() {
        var name = document.getElementById("nameInput").value;

        var num = document.getElementById("numInput").value;

        var item = document.createElement("li");

        item.innerText = name;
        
        for (i = 0; i < num; i++) {
        document.getElementById("nameOutput").innerHTML += '<li>'+name+'</li>';
        }
        
    }
    </script>
© www.soinside.com 2019 - 2024. All rights reserved.