0
  <select  value="dt" name="previousYear">
  <option value="2007">2007</option>
  <option value="2008">2008</option>
  <option value="2009">2009</option>
  <option value="2010">2010</option>
  <option selected="selected" value="2011">2011</option>
  <option value="2012">2012</option>
  <option value="2012">2013</option>
  <option value="2012">2014</option>
</select>
<select  value="dt" name="currentYear">
  <option value="2007">2007</option>
  <option value="2008">2008</option>
  <option value="2009">2009</option>
  <option value="2010">2010</option>
  <option selected="selected" value="2011">2011</option>
  <option value="2012">2012</option>
  <option value="2012">2013</option>
  <option value="2012">2014</option>
</select>
<select  value="dt" name="nextYear">
  <option value="2007">2007</option>
  <option value="2008">2008</option>
  <option value="2009">2009</option>
  <option value="2010">2010</option>
  <option selected="selected" value="2011">2011</option>
  <option value="2012">2012</option>
  <option value="2012">2013</option>
  <option value="2012">2014</option>
</select>

我有 3 个下拉列表,如前一年、当年和明年我如何选择当前年份作为当前年份,如果当前年份是 2012 年,那么当页面加载时它会自动选择 2012 年,任何人都可以告诉我用于动态选择的 Javascript 代码

4

2 回答 2

4

您的标记似乎不正确。我猜你正在寻找这样的东西:

<script type="text/javascript">
function setYear()
{
 var d = new Date();
 var x = document.getElementById("currentYear");//for select box id="currentYear"
 x.value=d.getFullYear();
}
</script>

像这样称呼它:

<body onload="setYear()">
<!-- your markup -->
</body>

在页面加载时调用上述函数为选择框设置当前年份。我建议您学习 Javascript以便更好地理解它作为一个基本示例。希望这会有所帮助。

于 2012-08-06T04:24:02.160 回答
0

你应该使用一些东西作为

var d = new Date();

var cur = document.getElementById('currentYear');
var prev = document.getElementById('previousYear');
var next = document.getElementById('nextYear');
var optionC, optionP, optionN;

for (var i = d.getFullYear() - 5; i <= d.getFullYear() + 5; i++) {
    optionC = document.createElement("option");
    optionC.setAttribute("value", i);
    optionC.innerHTML = i;
    cur.appendChild(optionC);
}

for (var i = d.getFullYear() - 10; i < d.getFullYear(); i++) {
    optionP = document.createElement("option");
    optionP.setAttribute("value", i);
    optionP.innerHTML = i;
    prev.appendChild(optionP);
}

for (var i = d.getFullYear() + 1; i <= d.getFullYear() + 10; i++) {
    optionN = document.createElement("option");
    optionN.setAttribute("value", i);
    optionN.innerHTML = i;
    next.appendChild(optionN);
}

cur.value = d.getFullYear();
prev.value = d.getFullYear() - 1;
next.value = d.getFullYear() + 1;​

只需添加类似的javascript函数

function setYear(obj)
{
    var prev = document.getElementById('previousYear');
    var next = document.getElementById('nextYear');   

    prev.value = Number(obj.value) - 1;
    next.value = Number(obj.value) + 1;
}

更新的演示

于 2012-08-06T04:28:07.817 回答