如何根据当前年份制作选项

时间:2013-05-20 16:28:21

标签: javascript html select

我希望有今年和明年的选项,但我无法弄清楚如何将JavaScript变量集成到value = ""和选项标签内的文本中。这段代码演示了我的意思(显然它无效,但显示我的意思)。所以今天第一个选择是2013年和下一个选择,2014年。谢谢。

var date = new Date(),
y = date.getFullYear();

<html>
  <select id = "year">
      <option value = "y" >y</option>
      <option value = "(y + 1)">(y + 1)</option>
  </select>
</html>

3 个答案:

答案 0 :(得分:2)

使用jQuery:

var sel = $("#year"),
    date = new Date(),
    y = date.getFullYear(),
    newOptions = "";
newOptions += "<option value='" + y + "'>" + y + "</option>";
newOptions += "<option value='" + (y + 1) + "'>" + (y + 1) + "</option>";
sel.append(newOptions);

DEMO: http://jsfiddle.net/YxqcT/

答案 1 :(得分:1)

既然你提到你正在使用jQuery,你可以使用它:

var currentYear = (new Date).getFullYear();
var opts;
$('#year').append(function () {
    for (var i = currentYear; i <= currentYear + 1; i++) {
        opts += "<option value='" + i + "'>" + i + "</option>";
    }
    return opts;
})

<强> jsFiddle example

答案 2 :(得分:1)

不需要jQuery。简单的HTML DOM可以为您完成工作。 样品&gt;&gt; http://jsfiddle.net/47dDu/

<!DOCTYPE html>
<html>
<body>

<select id="MySelectBox">
<option value="1" id="this_year"></option>
<option value="2" id="next_year"></option>
</select>

<script type="text/javascript">
var d = new Date();

var x = document.getElementById("this_year");
x.innerHTML=d.getFullYear(); //get this year

var y = document.getElementById("next_year");
y.innerHTML=d.getFullYear()+1; //get next year
</script>
</body>
</html>