0

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

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

4

1 回答 1

1

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

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

有关检查 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
        */
    }
});
于 2012-10-02T14:02:59.290 回答