2011-06-08 12 views

cevap

6

HTML

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

de

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

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

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

     ); 
     currentYear++; 
    } 

Görünüm demo: jQuery kullanıyorsanız

4

Öyle gibi yıllar listesini alabilir ...

jsFiddle.

Ya aslında select elemanını oluşturmak için ...

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.

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); 

JavaScript

jsFiddle

+0

'var date = new Tarih,' var date = new Date(), 'bir kurucunun çağrılmasıdır. –

+0

@IsaacGregson It * olabilir, ama gerekli değildir. – alex

3

, görev aşağıdaki gibi elde edilebilir Biraz daha iyi JavaScript işlevi:

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

0
var currentYear = new Date().getFullYear(); 
    for (var i = 0; i < 5; i++) { 
      $("#years").append(
       $('<option/>') 
       .attr("value", currentYear + i) 
       .text(currentYear + i)); 
     }