Keith Wood Datepick:当选择的日期是今天时显示警报

Keith Wood Datepick : Display alert when selected date is today

本文关键字:今天 天时 显示 日期 Datepick Wood 选择 Keith      更新时间:2023-09-26

我使用的是Keith Wood jQuery Datepick:http://keith-wood.name/datepick.html并且一直在尝试在所选日期为今天时发出警报。我输入的日历ID为"appdate"。我做过的最好的事情如下:

<script type="text/javascript">
$(document).ready(function(){
$('#appdate').datepick({
closeAtTop: false,
alignment: 'bottomLeft',
firstDay: 1,
dateFormat: 'DD d M yyyy',
showOnFocus: true,
showTrigger: '#calPic',
defaultDate: +1,
minDate: 0,
yearRange: 'c-1:c+1',
onDate: function(date) {return {selectable: date.getDay() > 0};},
onSelect: function(date) {
var istoday = $.datepick.today();
var picked = $('#appdate').datepick('getDate');
if (picked == istoday) {
alert('You selected today.'+ istoday + picked);
$('#appdate').datepick('clear');
$('#appdate').datepick('option', {minDate: +1});
$('#appdate').datepick('show');
}}
});
});
</script>

但它不起作用。如果我将行:If(picked==istoday)更改为:If(picked!=istodary)并从日历中选择今天的日期,那么我会收到警报,它显示两个变量似乎是相同的。

我不明白为什么我的原始代码不起作用。我一定错过了什么显而易见的东西。

此外,最后一行代码应该会在清除日期字段后再次弹出日历,但没有。任何帮助都将不胜感激。谢谢

这看起来像是一个日期比较问题,您使用的是对象比较,因此由于两个日期变量都指向不同的对象,因此返回false。。所以试试

if (picked.getTime() == istoday.getTime()) {
}