【问题标题】:HTML looping option values in drop down list下拉列表中的 HTML 循环选项值
【发布时间】:2014-01-19 07:57:28
【问题描述】:

我一直在尝试制作一个包含有关当前年龄的问题的表格,我决定回答这个问题的最简单方法是填写下拉列表。所以我在下拉列表中的第一个值应该是 1900,然后它会增加一个直到达到 2014。我该怎么做?

【问题讨论】:

  • 显示您尝试过的内容。您尝试过什么或只是发布给我们回答?您搜索了吗?
  • 欢迎来到 SO。在提出问题时,我们希望您能看到一些专注于特定问题的代码。此外,为 cmets 提供答案并尝试积极参与。看看其他人如何使用这个网站。

标签: javascript html forms loops html-select


【解决方案1】:

我不会设定一个固定的最后一年,为什么明年还要重新编码?

请注意,更新一次 DOM 比为添加到列表中的每一年更新一次 DOM 更有效。

HTML

<select id="year"></select>

脚本

var start = 1900;
var end = new Date().getFullYear();
var options = "";
for(var year = start ; year <=end; year++){
  options += "<option>"+ year +"</option>";
}
document.getElementById("year").innerHTML = options;

Example

【讨论】:

    【解决方案2】:

    DEMO

    <select id="year"></select>
    

    var year = 1900;
    var till = 2014;
    var options = "";
    for(var y=year; y<=till; y++){
      options += "<option>"+ y +"</option>";
    }
    document.getElementById("year").innerHTML = options;
    

    【讨论】:

      【解决方案3】:

      一个php版本?

      Birth Year:
      <input list="birth_year" name="year_born">
          <datalist id="birth_year">
              <?php 
                $right_now = getdate();
                $this_year = $right_now['year'];
                $start_year = 1900;
                while ($start_year <= $this_year) {
                    echo "<option>{$start_year}</option>";
                    $start_year++;
                }
               ?>
           </datalist>
      </input>
      

      【讨论】:

      • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      • 这听起来像是操作想要一个基于 javascript / html 的解决方案。没有提到 PHP。对您的代码的解释也会有所帮助。
      【解决方案4】:
      <!DOCTYPE html>
      <html>
      <body onload="loadAgeSelector()">
      <select id="yearselect"></select>
      <script>
      function loadAgeSelector()
      {
      var startyear = 1900;
      var endyear = 2014;
      for (var i = startyear;i<=endyear;i++){
          node=document.createElement("Option");
          textnode=document.createTextNode(i);
          node.appendChild(textnode);
          document.getElementById("yearselect").appendChild(node);
      }
      }
      </script>
      </body>
      </html>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 2017-10-17
        • 1970-01-01
        • 2022-10-13
        相关资源
        最近更新 更多