2015-09-04 78 views
-3

我正在使用jquery的日期選擇器。目前我面臨的一個問題默認情況下,日曆將顯示至2100年,但如果用戶選擇任何功能日期或當前日期,則系統不應接受。系統應該接受從今天起至少10年的日期。使用jQuery進行dob年驗證的日期選擇器

我有點糊塗了怎麼辦我最小年份試圖&最大的一年,但如果我給了一年的範圍在1900年到2015年日曆的顯示,直到僅2015年九月,但我想說明,直到2100

這裏是jsbin Link

傢伙好心幫我

這裏是jQuery代碼在

$("#txt_dob").datepicker({ 
    dateFormat: "mm-dd-yy", 
    changeMonth: true, 
    changeYear: true, 

    //showButtonPanel: true, 
    yearRange: '-115:+10', 
    beforeShow: function() { 
     setTimeout(function(){ 
     $('.ui-datepicker').css('z-index', 99999999999999); 

     }, 0); 
    }, 

}).on('change', function() { 
    if($('#txt_dob').valid()){ 
     $('#txt_dob').removeClass('errRed'); 
    } 
    // triggers the validation test on change 

}); 

謝謝dvance

+0

使用'maxDate'選項設置用戶可以選擇的最大日期。 [文檔](http://api.jqueryui.com/datepicker/#option-maxDate) –

+0

我查了一下那個老闆它不工作 – Mahadevan

+0

它正在工作。檢查[這](http://jsfiddle.net/SantoshPandu/e9aqL8ja/3/).just把你的代碼jsfiddle並把maxDate選項沒有別的我沒有 –

回答

1

使用日期選取器的maxDate屬性,如下所示:

maxDate: '-10Y' 
2

我的解決方案是創建一個Date對象:
var date = new Date(); // current date
然後。減去10年:
date.setFullYear(date.getFullYear() - 10)
進而影響這個日期是你的日期選擇器的最大日期

$("#txt_dob").datepicker({ 
    dateFormat: "mm-dd-yy", 
    maxDate: date, 
    changeMonth: true, 
    changeYear: true 
}); 
+0

Ps:@歐佩克的答案是更好,更清潔,已投票了 –

+0

@cracker謝謝你的答案,但我的問題是用戶希望看到日曆到2100年,但現場應該只接受從今天起10年 – Mahadevan

+0

然後更改maxDate到minDate –