Kendo ui 剑道控制日期选择器不';无法理解MVVM中的日期格式
我有以下代码:Kendo ui 剑道控制日期选择器不';无法理解MVVM中的日期格式,kendo-ui,kendo-datetimepicker,Kendo Ui,Kendo Datetimepicker,我有以下代码: <input data-role="datepicker" data-bind="value:referralData.Referral.from_date" /> 在对象中,它不再绑定。 我试过: <input data-role="datepicker" data-bind="value:referralData.Referral.from_date, parseFormats:'YYYY-MM-DD\Thh:mm:ss'" />
<input data-role="datepicker" data-bind="value:referralData.Referral.from_date" />
在对象中,它不再绑定。
我试过:
<input data-role="datepicker" data-bind="value:referralData.Referral.from_date, parseFormats:'YYYY-MM-DD\Thh:mm:ss'" />
但是它声明:uncaughterror:DatePicker小部件不支持parseFormats绑定。所以我相信我有一个语法错误,我错过了
有人知道如何告诉日期选择器选择此日期吗?
数据绑定
用于实时绑定选项。如果您只想使用配置选项,则可以使用数据解析格式
:
<input data-role="datepicker"
data-parse-formats="YYYY-MM-DDThh:mm:ss"
data-bind="value:referralData.Referral.from_date" />
此外,如果您想使用24小时时钟,您应该使用此时间格式配置:
HH:mm:ss
由@Lars提供的解决方案有效,但日期格式说明符错误(从剑道版本2014.3.119起)。它应该是yyyy-MM-ddTHH:MM:ss
(小写代表年份和日期,大写代表小时):
作为一种补充,如果有时需要,您实际上可以传递多个格式,根据,如下所示:
<input
data-role="datepicker"
data-bind="value:referralData.Referral.from_date"
data-parse-formats="['yyyy-MM-ddTHH:mm:ss','yyyy-MM-dd']" />
您可以为日期格式创建自定义绑定: 定制绑定
kendo.data.binders.widget.dateFormat = kendo.data.Binder.extend({
init: function (widget, bindings, options) {
//call the base constructor
kendo.data.Binder.fn.init.call(this, widget.element[0], bindings, options);
},
refresh: function () {
var that = this,
value = that.bindings["dateFormat"].get(); //get the value from the View-Model
$(that.element).data("kendoDatePicker").setOptions({
format: value
}); //update the widget
}
});
HTML
<div id="report1" data-role="view" data-model="APP.models.report1">
<input data-role="datepicker" data-bind="value: start_date, dateFormat: date_format" />
</div>
kendo.data.binders.widget.dateFormat = kendo.data.Binder.extend({
init: function (widget, bindings, options) {
//call the base constructor
kendo.data.Binder.fn.init.call(this, widget.element[0], bindings, options);
},
refresh: function () {
var that = this,
value = that.bindings["dateFormat"].get(); //get the value from the View-Model
$(that.element).data("kendoDatePicker").setOptions({
format: value
}); //update the widget
}
});
<div id="report1" data-role="view" data-model="APP.models.report1">
<input data-role="datepicker" data-bind="value: start_date, dateFormat: date_format" />
</div>
window.APP = {
models: {
report1: kendo.observable({
start_date: new Date(),
date_format: "dd/MM/yyyy",
}),
}
};
var app = new kendo.mobile.Application($(document.body), {
initial: "report1",
skin: "default",
});