2011-06-08 5 views
5

मैं जावास्क्रिप्ट का उपयोग करके ड्रॉप-डाउन में पांच साल भरना चाहता हूं और वर्ष चालू वर्ष के बाद होंगे।मैं जावास्क्रिप्ट का उपयोग करके ड्रॉप-डाउन में पांच साल भरना चाहता हूं और पिछले वर्षों के बाद के वर्षों के बाद वर्ष

उदाहरण के लिए

:

अगर चालू वर्ष 2012 है फिर ड्रॉप-डाउन मान हैं 2012,2013,2014,2015,2016

+1

एक तारीख वस्तु बनाएँ, साल मिलता है, यह भी वृद्धि के रूप में की आवश्यकता है। – RobG

उत्तर

6

एचटीएमएल

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

पर

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

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

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

     ); 
     currentYear++; 
    } 

देखें डेमो जावास्क्रिप्ट

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

:

4

तुम इतनी तरह साल की सूची प्राप्त कर सकते हैं ...

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

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

jsFiddle

या वास्तव में अपने select तत्व बनाने के लिए ...

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

jsFiddlejsFiddle

+0

'var date = new date,' 'var date = new date() होना चाहिए, क्योंकि यह एक कन्स्ट्रक्टर का आविष्कार है। –

+0

@IsaacGregson यह * हो सकता है, लेकिन इसकी आवश्यकता नहीं है। – alex

3

आप jQuery का उपयोग करते हैं, कार्य के रूप में अनुवर्ती प्राप्त किया जा सकता थोड़ा सा बेहतर जावास्क्रिप्ट समारोह:

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)); 
     } 
संबंधित मुद्दे