2011-06-08 34 views

Trả lời

6

HTML

<form id="someform"> 
<select id="year"></select> 
</form> 

Javascript

var myselect = document.getElementById("year"), year = new Date().getFullYear(); 
var gen = function(max){do{myselect.add(new Option(year++,max--),null);}while(max>0);}(5); 

Một chút tốt hơn chức năng JavaScript:

var myselect = document.getElementById("year"), 
    startYear = new Date().getFullYear() 
    count = 5; 

(function(select, val, count) { 
    do { 
    select.add(new Option(val++, count--), null); 
    } while (count); 
})(myselect, startYear, count); 

jsFiddle, new jsFiddle

4

Bạn có thể có được danh sách của năm như vậy ...

var date = new Date, 
    years = [], 
    year = date.getFullYear(); 

for (var i = year; i < year + 5; i++) { 
    years.push(i); 
} 

jsFiddle.

Hoặc để thực sự tạo ra yếu tố select của bạn ...

var date = new Date, 
    year = date.getFullYear(), 
    select = document.createElement('select'); 

for (var i = year; i < year + 5; i++) { 

    var option = document.createElement('option'), 
     yearText = document.createTextNode(i); 

    option.appendChild(yearText); 
    select.add(option); 
} 

select.name = 'year'; 

document.body.appendChild(select); 

jsFiddle.

+0

'var date = new Date,' nên là 'var date = new Date(),' vì nó là một lời gọi của một hàm tạo. –

+0

@IsaacGregson Nó * có thể * là, nhưng không bắt buộc. – alex

3

Nếu bạn sử dụng jQuery, nhiệm vụ có thể đạt được như sau:

var currentYear = new Date().getFullYear(); 

    for (var i = 1; i <= 5; i++) { 
     $("#timeSelector").append(

      $("<option></option>") 
       .attr("value", currentYear) 
       .text(currentYear) 

     ); 
     currentYear++; 
    } 

Xem demo tại jsFiddle

0
var currentYear = new Date().getFullYear(); 
    for (var i = 0; i < 5; i++) { 
      $("#years").append(
       $('<option/>') 
       .attr("value", currentYear + i) 
       .text(currentYear + i)); 
     } 
Các vấn đề liên quan