剑道ui-剑道日期时间选择器-格式



我有一个包含日期和时间的淘汰可观察对象。该可观察对象绑定到kendoDateTime选择器。我无法在选择器中绑定可观察值。以下是相同的jsfiddle链接:http://jsfiddle.net/ye865/74/

JS代码:

function ViewModel() {
    var self = this;
    self.bigday = ko.observable("1997-07-16T19:20:30"); 
}
ko.applyBindings(new ViewModel());

HTML代码:

<span data-bind="text: bigday"></span>
<input data-bind="kendoDateTimePicker: { value: bigday, format: 'yyyy-MM-dd hh:mm' }" />

可观察值:"1997-07-16T19:20:30"应绑定到dateTimePicker。

有人能帮我吗?

谢谢。

您的格式字符串不正确:您缺少T,小时应为HH:

format: 'yyyy-MM-ddTHH:mm'

但你可能想把它放在parseFormats选项中,这样显示器就没有t:

<input id="text" data-bind="kendoDateTimePicker: { value: bigday, 
    format: 'yyyy-MM-dd HH:mm', parseFormats: ['yyyy-MM-ddTHH:mm']}" />

演示JSFiddle。

要在可观察对象中以格式化的方式显示所选日期,您需要有一个单独的可观察对象,因为日期选择器的value属性返回一个Date对象,您需要手动将其格式化为字符串,例如使用computed:

function ViewModel() {
    var self = this;
    self.bigday = ko.observable("1997-07-16T19:20:30");
    self.formatted = ko.computed(function() {
        return kendo.toString(self.bigday(), 'yyyy-MM-dd HH:mm');
    });
}

演示JSFiddle。

您甚至可以将格式化后的值反馈到原始bigday:

self.bigday = ko.observable("1997-07-16T19:20:30");
self.bigday.subscribe(function() {
    self.bigday(kendo.toString(self.bigday(), 'yyyy-MM-dd HH:mm'));
});

演示JSFddle。

相关内容

  • 没有找到相关文章

最新更新