【问题标题】:ko databind with datepickerko 使用 datepicker 进行数据绑定
【发布时间】:2012-09-18 23:01:53
【问题描述】:

我正在为我的日期时间选择器使用 ko 绑定。我从here得到了一个样本

但是当用户输入无效数据时,该值将重置为今天的日期。如何避免这种情况? (我需要将该字段显示为无效。因为它正在重置它总是显示我有效)

【问题讨论】:

    标签: knockout.js datepicker


    【解决方案1】:

    这不是淘汰赛造成的。这是 jQuery DatePicker 的默认行为。

    输入无效日期时,$(element).datepicker('getDate') 的结果为今天的日期。

    请参阅here 以获取检查 jQuery DatePicker 的当前输入是否有效的解决方案。然后修改自定义绑定中的ko.utils.registerEventHandler 调用,如下所示:

    ko.utils.registerEventHandler(element, "change", function () {
    
        var observable = valueAccessor();
    
        var valid;
    
        /* check validity here */
    
        if( valid ) {
            observable($(element).datepicker("getDate"));
        }
        else {
            /*
               do something other than jQuery's 'getDate',
               as it will return today's date
            */
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 2013-04-22
      • 1970-01-01
      • 2011-01-19
      • 2012-04-26
      • 2012-04-12
      • 2010-12-19
      相关资源
      最近更新 更多