2014-04-18 30 views
1

我有一个基因敲落的守护日期和时间。该观察值绑定到kendoDateTime选择器。我无法绑定拾取器中的可观察值。 这里是的jsfiddle链接相同的:http://jsfiddle.net/ye865/74/KendoDateTime选择器格式

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。

任何人都可以帮助我吗?

谢谢。

+0

感谢您的回复。我将如何格式化存储在可观察对象中的日期?假设我想用format = yyyy-MM-dd HH:mm将日期时间存储在observable中。这个怎么做? – user2439903

回答

1

你的格式字符串不正确:你缺少的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