Опитвам се да обвържа стойността на kendoDatePicker от моя модел на изглед.
когато използвам проста наблюдаема, тя работи перфектно. html:
<input data-bind="kendoDatePicker: { value: myDate().selectedDate} " />
Промяна на датата
var DateModel = function (json) {
var self = this;
self.selectedDate = ko.observable((!json || !json.Value) ? new Date('01/02/2015') : new Date(json.Value));
};
function ViewModel() {
var self = this;
// initializing my object with empty string to avoid html databinding exceptions
self.myDate= ko.observable(new DateModel(''));
self.changeDate = function () {
self.myDate(new DateModel({Value:"09/08/1935"}));
};
return self;
};
ko.applyBindings(new ViewModel());
<!-- REFERENCES
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
-->
<input data-bind="kendoDatePicker: { value: myDate().selectedDate} " />
<button data-bind="click: changeDate">Change Date</button>
<p data-bind="text: myDate().selectedDate"> </p>
демонстрация: http://jsfiddle.net/NGLEp/27/
Но когато използвам наблюдаем модел с json стойности (като анализирам резултата си от уеб услугата), той не работи.
var DateModel = function (json) {
var self = this;
self.selectedDate = ko.observable((!json || !json.Value) ? new Date('01/02/2015') : new Date(json.Value));
};
function ViewModel() {
var self = this;
// initializing my object with empty string to avoid html databinding exceptions
self.myDate= ko.observable(new DateModel(''));
self.changeDate = function () {
self.myDate().selectedDate(new Date());
};
return self;
};
ko.applyBindings(new ViewModel());
<!-- REFERENCES
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
-->
<input data-bind="kendoDatePicker: { value: myDate().selectedDate} " />
<button data-bind="click: changeDate">Change Date</button>
<p data-bind="text: myDate().selectedDate"> </p>
демонстрация: http://jsfiddle.net/NGLEp/26/
помощ, моля !