jquery datepicker onChangeMonthYear

Posted

技术标签:

【中文标题】jquery datepicker onChangeMonthYear【英文标题】: 【发布时间】:2010-11-08 16:49:40 【问题描述】:

我在我的应用程序中使用 jquery ui datepicker。 我创建了一个内联日期选择器。 我遇到了onChangeMonthYear 的问题。我已将示例简化为最低限度。

点击“上一个”或“下一个”,日历应该:-

    相应地转到上/下个月。 将该月的第一天设置为当前选定的日期。 提醒该日期

问题在于#2。

我正在使用setDate 来执行此操作,它以无限递归结束。因为,我在 onChangeMonthYear 中调用 setDate。 setDate 也在内部触发 onChangeMonthYear。

点击 prev/next 时如何实现这三件事。

【问题讨论】:

【参考方案1】:

尝试设置一个可以在事件处理程序中查询的标志,以防止无限循环:

var changingDate = false;
$('.selector').datepicker(
    onChangeMonthYear: function(year, month, inst) 
        if (changingDate) 
            return;
        
        changingDate = true;
        // your setDate() call here
        changingDate = false;
    
);

【讨论】:

【参考方案2】:

无限递归意味着您通知的月份不正确。 确保你从month减1

【讨论】:

不正确。这是因为 onChangeMonthYear() 也会触发任何更改。在这种情况下,很可能是 setDate() 引起的。【参考方案3】:
onChangeMonthYear: function(year, month, inst)
    $(this).datepicker( "setDate", new Date(year, month-1, 1) );

【讨论】:

以上是关于jquery datepicker onChangeMonthYear的主要内容,如果未能解决你的问题,请参考以下文章

JQuery Daterangepicker onchange 事件

Ant 设计:从 onChange 中的 datepicker 获取 Id

Parsleyjs 日期验证不适用于 Onchange 等 Datepicker 事件

如何在 JS 函数 onchange 事件中获取 Bootstrap Datepicker 的值?

my97datepicker插件日期值改变事件 等同于input的onchang()时间

jquery 中datepicker 插件 问题