【发布时间】:2012-12-06 07:20:33
【问题描述】:
我有实时更新输入值的可观察对象。问题是 Kendo DatePicker 不知道输入值何时更新,因此不会进行任何格式化。可以在此处查看此行为的示例:http://jsfiddle.net/basememara/kMkSd/
$("#sampleDate1, #sampleDate2").kendoDatePicker({
format: "dd MMM yyyy",
parseFormats: ["yyyy/MM/dd"]
});
$("#sampleDate1").val('2012/09/25') //no formatting happens => 2012/09/25
$("#sampleDate2").data('kendoDatePicker').value('2012/09/25') //works => 25 Sep 2012
DatePicker 希望我始终通过 Kendo 对象更新值。如何告诉 DatePicker 输入值已更新(但这不应该自动完成)?
【问题讨论】:
-
那么,这里有什么问题?只需通过
.data('kendoDatePicker')。该字段未格式化,因为显然格式化函数未注册到该字段的onchange事件。为什么?因为这会创建一个循环:通过代码设置值 --> 值改变(事件) --> kendo 格式化它 --> 值改变(事件) --> kendo 格式化它,等等。 -
问题是我什至没有更新输入值。这由 JS 框架通过可观察类(实时绑定)自动发生。我可以根据需要在代码中更新类对象,它会自动实时反映到输入值。它甚至不知道剑道的存在。我只坚持做这样的解决方法(我不想这样做): $("#sampleDate2").data('kendoDatePicker').value(this.value)
-
我明白了。在那种情况下,恐怕我帮不上什么忙。
-
如果我只能重新触发解析功能,我就可以了。
标签: javascript jquery formatting datepicker kendo-ui