我遇到了从ASP.NET WebAPI生成的ISO 8601格式以及使用Knockout-Kendo.js绑定到KendoUI DatePicker小部件的麻烦。
参考文献:
http://cdn.kendostatic.com/2012.3.1315/styles/kendo.common.min.css
http://cdn.kendostatic.com/2012.3.1315/styles/kendo.default.min.css
http://cdn.kendostatic.com/2012.3.1315/js/kendo.core.min.js
http://cdn.kendostatic.com/2012.3.1315/js/kendo.web.min.js
http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js
http://rniemeyer.github.com/knockout-kendo/js/knockout-kendo.min.js
HTML:
<span data-bind="text: bigday"></span><br />
<input data-bind="kendoDatePicker: bigday" />
使用Javascript:
function ViewModel() {
var self = this;
self.bigday = ko.observable("2013-06-01T00:00:00");
// ISO 8601 date as returned from ASP.NET WebAPI
}
ko.applyBindings(new ViewModel());
http://jsfiddle.net/bschafer/NGLEp/
由于某种原因,该值不会绑定到KendoDatePicker,但它会绑定到没有问题的范围。
答案 0 :(得分:4)
Kendo.UI DatePicker使用following default date time format:MM/dd/yyyy h:mm tt
所以你只需要使用format
选项更改它:
<input data-bind="kendoDatePicker: { value: bigday, format: 'yyyy-MM-dd' }" />
演示JSFiddle。
请注意,如果您想以一种格式解析日期,但是以不同的格式显示日期,则还可以使用parseFormats。