我正在使用ko绑定作为我的日期时间选择器。我从here
那里得到了一个样本但是当用户输入无效数据时,该值将重置为今天的日期。怎么避免这个? (我需要将该字段显示为无效。因为重置它总是显示我有效)
答案 0 :(得分: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
*/
}
});