2014-02-25 157 views
20

我想禁用jQuery UI的日期選擇所有今天之後的未來日期禁用未來後的今天日期的jQuery UI的日期選擇器

這裏是Demo

代碼:

$("#start_date").datepicker(

     { 
      maxDate: '0', 
      beforeShow : function() 
      { 
       jQuery(this).datepicker('option','maxDate', jQuery('#end_date').val()); 
      }, 
      altFormat: "dd/mm/yy", 
      dateFormat: 'dd/mm/yy' 

     } 

); 

$("#end_date").datepicker( 

     { 
      maxDate: '0', 
      beforeShow : function() 
      { 
       jQuery(this).datepicker('option','minDate', jQuery('#start_date').val()); 
      } , 
      altFormat: "dd/mm/yy", 
      dateFormat: 'dd/mm/yy' 

     } 

); 
+0

可能重複[禁用jQuery UI Datepicker中的將來日期](http://stackoverflow.com/questions/4002781/disable-future-dates-in-jquery-ui-datepicker) –

回答

60

試試這個

$(function() { 
    $("#datepicker").datepicker({ maxDate: new Date() }); 
}); 

或者你可以使用這個如下實現:

$(function() { 
    $("#datepicker").datepicker({ maxDate: 0 }); 
}); 

Reference

DEMO

UPDATED ANSWER

+0

你應該更新我的小提琴 –

+1

@CodeHunter請檢查'http:// jsfiddle。net/X82aC/544 /'按照我的理解 – Amit

+0

@Amit:謝謝你的回答,它是一種魅力。 – BNN

2

將maxDate更改爲當前日期

maxDate: new Date() 

它會將當前日期設置爲最大值。

3

你可以簡單地這樣做

$(function() { 
    $("#datepicker").datepicker({ maxDate: new Date }); 
    }); 

JSFiddle

FYI:在檢查documentation,發現它也可以接受的數值了。

號碼:從今天開始的幾天。例如,2表示從今天開始的兩天 ,-1表示昨天。

因此0代表今天。因此,你也可以這樣做

$("#datepicker").datepicker({ maxDate: 0 }); 
+0

請修改我的小提琴 –

+0

@CodeHunter may I知道哪一個'start_date'或'end_date'? – Praveen

+0

對於開始日期其明顯 –

-3
maxDate: new Date() 

其工作正常,我在日期範圍選擇器

+1

我不認爲這增加了現有答案的任何內容。 –

3

當前日期在我的情況下禁用,我已經給這個屬性輸入標籤

data-date-start-date="0d" data-date-end-date="0d"

1

萬一您正在追加Dtpicker,請使用以下代碼

$('#enddate').appendDtpicker({ 
    "dateOnly": true, 
    "dateFormat": "YYYY-MM-DD", 
    "closeOnSelected": true, 
    maxDate: new Date()   
}); 
相關問題