2011-04-11 60 views
19

是否有一個jQuery插件自動創建一個下拉選擇年份選擇器(這是一個「選擇」元素與所有年份開始從當前和追溯到給定年份)?是否有一個jQuery下拉菜單選擇器

我不需要日/月(否則我會用datepicker),我只需要一年!

在此先感謝

回答

49

什麼剛:

<select name="yearpicker" id="yearpicker"></select> 

然後:

for (i = new Date().getFullYear(); i > 1900; i--) 
{ 
    $('#yearpicker').append($('<option />').val(i).html(i)); 
} 
+0

好主意!!!!謝謝! – 2011-04-11 12:35:43

+1

並非所有的**都有**作爲插件(儘管,我必須承認,這本身可以有所幫助)。 +1 – 2011-04-11 12:36:41

+0

最後,我實現了你的想法的「服務器端版本」,因爲它也需要填充它,但它是興奮的我需要!thx再次 – 2011-04-11 13:06:44

2

纏繞代碼爲jQuery插件選擇開始和結束年之間年:

jQuery.extend(jQuery.fn,{ 

    /* 
    ** Year selection plugin 
    ** Sample usage 
    ** $('#yearpicker').years(2007, 2017); 
    ** 
    ** HTML 
    ** <select name="yearpicker" id="yearpicker"></select> 
    */ 
    years: function(start, end) { 
     for (i = start; i <= end; i++) 
     { 
      $(this).append($('<option />').val(i).html(i)); 
     } 
    } 
}); 
2

擴展Jimmy Sawczuk的解決方案 - 如果您還需要將反饋數據處理到需要加載/選擇先前選擇的表單頁面,該怎麼辦?

變量保存用戶的前一個選擇可以在使用if語句來動態分配「已選擇」屬性,像這樣:

for (i = new Date().getFullYear(); i > 1900; i--) 
{ 
if(userselection == i){ 
$('#yearpicker').append($('<option />').val(i).attr("selected","selected").html(i)); 
} else {  
$('#yearpicker').append($('<option />').val(i).html(i)); 
} 
} 
0

日期選擇器有minViewMode選項。在我來說,我用了日期範圍以年:

的JavaScript: $( '輸入日期範圍。')日期選擇器({ minViewMode:2, 格式: 'YYYY' })。

HTML:

<div class="input-daterange date"id="DataRange"> 
    <input type="text"class="input-small"/> 
    <span class="add-on">to</span> 
    <input type="text"class="input-small"/> 
</div> 
相關問題