Datepicker jquery和knockout,绑定无效值

时间:2014-01-14 01:16:18

标签: javascript jquery knockout.js datepicker

我使用的是使用jQuery和Knockout的this example of datepicker,但问题是当我设置一个无效的日期时,绑定不起作用,因为它不会镜像输入中的值。 (示例:尝试在输入中设置00/00/0000)。

我改变的唯一方法是放置$el.val()而不是$el.datepicker("getDate"),因为尽管定义了dateFormat: 'dd/mm/yy',但$el.datepicker("getDate")给了我另一种格式。

<input id="data" data-bind="datepicker: myDate, datepickerOptions: { dateFormat: 'dd/mm/yy'} />
ko.utils.registerEventHandler(element, "change", function() {
    var observable = valueAccessor();
    observable($el.val()); //$el.datepicker("getDate")
});

1 个答案:

答案 0 :(得分:0)

为什么要允许无效日期?如果您必须允许无效日期,您希望绑定的observable的值是什么? 不,你: $ el.datepicker(options).attr('readonly','readonly');

这将确保只能输入有效日期。