2012-05-30 50 views
1

我有這個代碼來限制各種「datepicker日期」。 :javascript datapicker限制日期

$(function() { 
    $(".datepicker").datepicker({ 
     dateFormat: 'dd-mm-yy' 
    })({ 
     changeMonth: true, 
     changeYear: true 
    }); 
    $(".datepicker").datepicker; 
}); 

var calcDate = function() { 
    var start = $('#conference_date_in').datepicker('getDate'); 
    var end = $('#conference_date_out').datepicker('getDate'); 
    var days = (end - start)/1000/60/60/24; 

    document.getElementById('total_days').value = days; 
} 

$('#conference_date_out').change(calcDate); 
({ minDate: -20, maxDate: "+1M +10D" }); 

$('#conference_date_in').change(calcDate); 
</script> 

我的最小/最大日期在錯誤的部分?

回答

0

必須設置MINDATE和最大日期這樣

$("#datepicker").datepicker({ minDate: -20, maxDate: "+1M +10D" }); 

Example

參考:mindate and maxdate

如果要禁用特定日期範圍內,您可以使用下面的代碼

// unavailable dates range 
var dateRange = ["2012/05/20","2012/05/29"]; // yyyy/MM/dd 


function unavailable(date) { 
    var startDate = new Date(dateRange[0]); 
    var endDate = new Date(dateRange[1]); 
    var day = date.getDay(); 



    if(date > startDate && date < endDate) 
     return [false, "disabled"]; 
    else if(day > 0 && day < 6) 
     return [true, "enabled"]; 
    else 
     return [false, "disabled"]; 

} 

$('#iDate').datepicker({ beforeShowDay: unavailable }); 

Working Fiddle

+0

謝謝。我調整了代碼,它似乎工作,除了現在我的「dateformat」ddmmyy - 不再工作?另外,我現在可以限制用戶選擇過去會議開始和結束的日期,但是如何防止「開會日期」在開始日期之前? '$(function。(){(「。datepicker」)。datepicker({minDate:-0,maxDate:「+ 100M + 10D」})({date.yahoo' }) { changeMonth:true, changeYear:true }); });' – user1426583