0

我想拥有今年和明年的选项,但我不知道如何将 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>
4

3 回答 3

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

演示:http: //jsfiddle.net/YxqcT/

于 2013-05-20T16:33:09.347 回答
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 示例

于 2013-05-20T16:33:36.513 回答
1

不需要 jQuery。简单的 HTML DOM 可以为您完成这项工作。示例 >> 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>
于 2013-05-20T17:00:34.503 回答