2011-04-21 5 views
2

나는 작은 문제가 떠오른다. 그 문제를 해결할 수있는 방법을 생각해 내고 있습니다.jQuery는 몇 년을 생성합니다. 드롭 다운에 대한

Baisclly 내가 원하는 것은 올해의 18 년 즉 : 1993 년을 반환하는 것입니다. 및 그 이전의 어느 해를 선택하는 드롭 다운 옵션을 생성합니다.

는 baisclly 그들은 당신이 그 좋은 것입니다 도움이 될 수있는 경우가 18

의 법적 연령 이상임을 보여주고있다.

답변

4
var minOffset = 18, maxOffset = 100; 

var thisYear = new Date().getFullYear(); 
var select = $('<select>'); 

for (var i = minOffset; i <= maxOffset; i++) { 
    var year = thisYear - i; 
    $('<option>', {value: year, text: year}).appendTo(select); 
} 

select.appendTo('body'); 

데모 : http://jsfiddle.net/DhpBg/.

2

jQuery없이 네이티브 자바 스크립트에서 쉽게 할 수 있습니다.

데모 : http://jsbin.com/orasa5/2/

편집 : 나는 모든 옵션에 대한 노드를 만드는 이유를 확실하지. 이른 아침이야.

+0

소스 코드를 제공하십시오 –

2
<select name="Year" class="bdayyear"> 
    <option value="year">Year</option> 
    <script language="javascript"> 
       for (var i = 1960; i < 2010; i ++) { 
        document.write("<option value=\"" + i + "\">" + i + "</option>\n"); 
       } 
      </script> 
    </select> 

나는 그 방법이 도움이되기를 바랍니다. JQuery와에 의해 달 년

2

var minOffset = 0, maxOffset = 100; // Change to whatever you want // minOffset = 0 for current year 
 
var thisYear = (new Date()).getFullYear(); 
 
var m_names = ['January', 'February', 'March','April', 'May', 'June', 'July','August', 'September', 'October','November', 'December']; 
 
var month = 0 // month = (new Date()).getMonth(); // for cuurent month 
 
for (var j = month; j <= 11; j++) {var months = m_names[ 0 + j].slice(0, 3); $('<option>', {value: months, text: months}).appendTo(".month"); } 
 
for (var i = minOffset; i <= maxOffset; i++) { var year = thisYear + i; $('<option>', {value: year, text: year}).appendTo(".year");}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select class="year"> 
 

 
</select> 
 

 
<select class="month"> 
 

 
</select>

더 나은 솔루션

www.jsfiddle.net/sudharshanreddyjanike/byvotshz/2/

관련 문제