【问题标题】:How to prevent Jquery Mobile datebox from closing if user selects invalid date如果用户选择无效日期,如何防止 Jquery Mobile 日期框关闭
【发布时间】:2013-12-04 05:53:46
【问题描述】:

我正在使用 jQuery Mobile datebox plugin 来选择日期范围。如果用户选择的开始日期大于结束日期,那么我想显示警报并保持日期框打开。

  $('#sDate').on('datebox', function (event, payload) {
                if (payload.method === 'set') {
                    if (payload.date > eDate) {
                        window.alert('Select start date less than end date.');
            //Keep datebox open
                    }
                    else {
                     //Proceed with data filtering
                    }
                }
            });

但是 Datebox 即将关闭。是否有任何日期框选项可以防止日期框关闭(可能没有任何黑客或解决方法)。

【问题讨论】:

    标签: jquery-mobile datebox


    【解决方案1】:

    这是一个DEMO FIDDLE

    只需添加 e.stopImmediatePropagation();警报后:

    $('#sDate').on('datebox', function (event, payload) {
        if (payload.method === 'set') {
            if (payload.date > eDate) {
                window.alert('Select start date less than end date.');
                e.stopImmediatePropagation();
            }
       }
    });
    

    【讨论】:

    • 感谢分享小提琴演示,它按预期工作。在我的情况下,我使用 Alertify jquery 插件库而不是 Windows 警报来显示使用 AngularJS 框架的警报。一些它仍然没有停止/防止日期框关闭的方式。我什至尝试用 Windows 警报替换“警报”。
    • 我更新了我的小提琴以使用 alertify 并且它仍然有效:jsfiddle.net/ezanker/yDyqs/3 所以其他事情正在发生。你能制作一个重现问题的小提琴吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2011-11-11
    • 2017-05-01
    相关资源
    最近更新 更多