2012-04-13 136 views
39

您好我想在我的jquery datepicker中設置最短日期爲(1999-10-25),所以我試着下面的代碼不工作。在jquery datepicker中設置最短日期

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

**,如果我最小年份改爲2002年以上的非它會正常工作,但如果我指定最低年收入低於2002 {像上面1999年eexample}這將只顯示多達2002.can幫助我的人。我使用jquery-1.7.1.min.js和jquery-ui-1.8.18.custom.min.js。

回答

79
$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
yearRange: '1999:2012', 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

只需添加年份範圍選項。它應該解決問題

+0

感謝的人它的工作 – user1184777 2012-04-14 03:53:22

+0

感謝@Gaurv。它的工作正常。 – 2012-12-28 04:58:05

+0

不錯,有幫助 – 2016-01-05 07:06:46

1

你好工作演示http://jsfiddle.net/femy8/

現在日曆只會去的1999年10月25日最低。

單擊文字框旁邊的圖像即可顯示日曆。你可以嘗試選擇,直到1999年,但選擇的最短日期是1999年10月25日。這正是你想要的。

這將有助於,有一個很好的! :)乾杯!

jQuery代碼

$(".mypicker").datepicker({ 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 
    showButtonPanel: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date('1999/10/25'), 
     maxDate: '+30Y', 
     inline: true 
}); 


​ 
13

的問題是, 「yearRange」 的默認選項爲10年。

因此2012 - 10 = 2002

因此,將yearRange更改爲c-20:c或只是1999(yearRange: '1999:c'),並將其與限制日期(mindate,maxdate)結合使用。

欲瞭解更多信息:http://jqueryui.com/demos/datepicker/#option-yearRange


見例如:http://jsfiddle.net/kGjdL/

而且你的代碼中加入:

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     yearRange: '1999:c', 
     inline: true 
    }); 
}); 
+0

良好的簡要說明 – sockmonk 2013-05-13 20:26:40

0

只是想添加這只是爲未來的程序員。

此代碼限制日期的最小值和最大值。 年度完全受當年最大年份的控制。

希望這可以幫助任何人。

這是代碼。

var dateToday = new Date(); var yrRange ='2014'+「:」+(dateToday。和getFullYear());

$(function() { 
    $("[id$=txtDate]").datepicker({ 
     showOn: 'button', 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     buttonImageOnly: true, 
     yearRange: yrRange, 
     buttonImage: 'calendar3.png', 
     buttonImageOnly: true, 
     minDate: new Date(2014,1-1,1), 
     maxDate: '+50Y', 
     inline:true 
    }); 
}); 
0

嘗試這樣

<script> 

    $(document).ready(function(){ 
      $("#order_ship_date").datepicker({ 
      changeMonth:true, 
      changeYear:true,   
      dateFormat:"yy-mm-dd", 
      minDate: +2, 
     }); 
    }); 


</script> 

下面的HTML代碼

<input id="order_ship_date" type="text" class="input" style="width:80px;" /> 
+1

您能否詳細說明您的答案,並添加關於您提供的解決方案的更多描述? – abarisone 2015-04-15 10:18:33

0

基本上給出瞭如果你已經指定年份範圍,沒有必要使用mindatemaxdate如果只有一年需要

2

只是萬一你需要把一個分日期,最近3個月,最大日起未來3個月

$('#id_your_date').datepicker({ 
    maxDate: '+3m', 
    minDate: '-3m' 
}); 
相關問題