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