我使用的是使用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")
});
答案 0 :(得分:0)
为什么要允许无效日期?如果您必须允许无效日期,您希望绑定的observable的值是什么? 不,你: $ el.datepicker(options).attr('readonly','readonly');
这将确保只能输入有效日期。