一个逻辑问题嘛,这样就OK了<select  name="Year" ID="Select1"></select><select  name="Month" ID="Select2"></select><select  name="Day" ID="Select3"></select>
<script language="Javascript">
function loadDataSelect( yearSelect, monthSelect, daySelect )
{
var beginYear = new Date();
var tYear = new Date();
var endYear = new Date();
beginYear = beginYear.getYear() - 5;
endYear = endYear.getYear() + 5;

for( beginYear ; beginYear < endYear; ++beginYear )
{
var selectOption = new Option( beginYear, beginYear );
yearSelect.add( selectOption );
if ( selectOption.value == tYear.getYear() )
selectOption.selected = true;//为何刷新过后selected的年份是2003,而不是2004?
}
}
loadDataSelect(document.getElementById("Year"), document.getElementById("Month"), document.getElementById("Day"));</script>

解决方案 »

  1.   

    yearSelect.add( selectOption );
    if ( selectOption.value == tYear.getYear() )
    selectOption.selected = true;//为何刷新过后selected的年份是2003,而不是2004?
    对于这个问题,在增加了一个元素后,还能利用它来修改它的属性值?...
      

  2.   

    那如果我把yearSelect.add( selectOption );放到if 后面,怎么就会有错了?始终想不通。