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 に答える