jQuery datepicker来防止过去的date
如何禁用jQuery datepicker上的过去date? 我查找的选项,但似乎没有发现任何指示能够禁用过去的date。
更新:感谢您的快速回应。 我试过,没有运气。 天还没有像我预期的那样变灰,仍然接受选定的过去的date。
我试过这个:
$('#datepicker').datepicker({ minDate: '0' });
不起作用。
我试过这个:
$('#datepicker').datepicker({ minDate: new Date() });
依然不起作用。
它显示日历小部件就好了。 它只是不会灰色或防止过去的日子input。 我曾经尝试过minDate和maxDate,但没有运气,所以我认为这不应该是他们。
尝试这个:
$("#datepicker").datepicker({ minDate: 0 });
从0
删除引号。
您只需要指定一个最短date – 将其设置为0意味着最低date是从今天即今天起的0天。 你可以传递string'0d'
(默认单位是天)。
$(function () { $('#date').datepicker({ minDate: 0 }); });
删除周围的引号0
,它将工作。
工作代码片段:
// set minDate to 0 for today's date $('#datepicker').datepicker({ minDate: 0 });
body { font-size: 12px; /* just so that it doesn't default to 16px (which is kinda huge) */ }
<!-- load jQuery and jQuery UI --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> <!-- load jQuery UI CSS theme --> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> <!-- the datepicker input --> <input type='text' id='datepicker' placeholder='Select date' />
如果你正在处理一个先前绑定的dateselect器,然后设置
$("#datepicker").datepicker({ minDate: 0 });
不pipe用。 该语法仅适用于您创build窗口小部件的情况。
要为绑定dateselect器设置最短date,请使用以下内容:
$("#datePicker").datepicker("option", "minDate", 0);
使用minDate选项来设置最小可能的date。 http://jqueryui.com/demos/datepicker/#option-minDate
给零介意,它会废除过去的date。
$( "#datepicker" ).datepicker({ minDate: 0});
现场示例
在这里阅读更多
这工作:
$("#datepicker").datepicker({ minDate: +0 });
//禁用将来的date
$('#datetimepicker1').datetimepicker({ format: 'DD-MM-YYYY', maxDate: new Date });
//禁用过去的date
$('#datetimepicker2').datetimepicker({ format: 'DD-MM-YYYY', minDate: new Date });
$("#datePicker").datePicker({startDate: new Date() });
。 这对我有用
我正在使用以下代码格式化date,并在日历中显示2个月…
<script> $(function() { var dates = $( "#from, #to" ).datepicker({ showOn: "button", buttonImage: "imgs/calendar-month.png", buttonImageOnly: true, defaultDate: "+1w", changeMonth: true, numberOfMonths: 2, onSelect: function( selectedDate ) { $( ".selector" ).datepicker({ defaultDate: +7 }); var option = this.id == "from" ? "minDate" : "maxDate", instance = $( this ).data( "datepicker" ), date = $.datepicker.parseDate( instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings ); dates.not( this ).datepicker( "option", "dateFormat", 'yy-mm-dd' ); } }); }); </script>
问题是我不知道如何限制以前的dateselect。
确保你把多个属性放在同一行(因为你只显示了1行代码,你可能遇到了同样的问题)。
我会设置默认date,但没有灰色的旧date。 这不起作用:
$('#date_end').datepicker({ defaultDate: +31 }) $('#date_end').datepicker({ minDate: 1 })
这两个:
$('#date_end').datepicker({ defaultDate: +31, minDate: 1 })
1和+1的工作方式相同(或者0和+0在你的情况下)。
我:Windows 7 x64,Rails 3.2.3,Ruby 1.9.3
var givenStartDate = $('#startDate').val(); alert('START DATE'+givenStartDate); var givenEndDate = $('#endDate').val(); alert('END DATE'+givenEndDate); var date = new Date(); var month = date.getMonth()+1; var day = date.getDate(); var currentDate = date.getFullYear() + '-' + (month<10 ? '0' : '') + month + '-' + (day<10 ? '0' : '') + day; if(givenStartDate < currentDate || givenEndDate < currentDate) { $("#updateButton").attr("disabled","disabled"); } if(givenStartDate < currentDate && givenEndDate > currentDate) { $("#updateButton").attr("enabled","enabled"); } if(givenStartDate > currentDate || givenEndDate > currentDate) { $("#updateButton").attr("enabled","enabled"); }
尝试这个。 如果有任何错误,请纠正我:)谢谢大家。
尝试将startDate
设置为当前date。 例如:
$('.date-pick').datePicker({startDate:'01/01/1996'});
我使用了min属性: min="' + (new Date()).toISOString().substring(0,10) + '"
这是我的代码,它的工作。
<input type="date" min="' + (new Date()).toISOString().substring(0,10) + '" id="' + invdateId + '" value="' + d.Invoice.Invoice_Date__c + '"/>