动态调用下拉列表以在html中选择日期

时间:2012-08-06 04:15:20

标签: javascript

  <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代码

2 个答案:

答案 0 :(得分: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>

在页面加载时调用上述功能以设置选择框的当前年份。 我建议你learn Javascript以更好的理解作为一个基本的例子。希望这有帮助。

答案 1 :(得分: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;
}

Updated demo