1

日付と時刻を保持するノックアウトオブザーバブルがあります。そのオブザーバブルは 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 にバインドする必要があります。

誰でもこれで私を助けることができますか?

ありがとう。

4

1 に答える 1

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のデモ。

于 2014-04-18T09:08:46.343 に答える