下拉列表中的HTML循环选项值

时间:2014-01-01 21:10:41

标签: javascript html forms loops html-select

我一直试图做一个表格,其中包含一个关于当前年龄的问题,我已经决定回答这个问题的最简单方法是填写一个下拉列表。因此,下拉列表中的第一个值应为1900,然后它将增加1,直到达到2014年。我该怎么做?

4 个答案:

答案 0 :(得分:9)

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

请注意,更新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

答案 1 :(得分:4)

<强> 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;

答案 2 :(得分:1)

一个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>

答案 3 :(得分:0)

<!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>