【问题标题】:Keith Wood Datepick : Display alert when selected date is todayKeith Wood Datepick : Display alert when selected date is today
【发布时间】:2014-08-30 02:40:58
【问题描述】:

我正在使用 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 != istoday) 并从日历中选择今天的日期,那么我会收到警报,它表明这两个变量似乎是相同的。

我不明白为什么我的原始代码不起作用。我一定遗漏了一些明显的东西。

此外,最后一行代码应该在清除日期字段后再次弹出日历,但事实并非如此。任何帮助将非常感激。谢谢。

【问题讨论】:

    标签: javascript jquery datepicker


    【解决方案1】:

    这看起来像是一个日期比较问题,您正在使用对象比较,所以由于两个日期变量都引用了不同的对象,它返回 false.. 所以试试

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

    【讨论】:

    • 嗨 - 谢谢,但我无法让它工作。我只是得到'picked.getTime 不是一个函数'。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2021-12-18
    相关资源
    最近更新 更多