目前下列日期選擇器結合的非可觀察value.When完美的工作在那裏我已經更新了淘汰賽3.0它不工作ko.bindingHandlers.datepicker不是淘汰賽版本3.0中
ko.bindingHandlers.datepicker = {
init: function(element, valueAccessor, allBindingsAccessor) {
// Get the options from the binding.
var options = allBindingsAccessor().datepickerOptions || {};
$(element)
.datepicker(options)
.bind("change", function() {
ko.bindingHandlers.datepicker.updateValue(element, valueAccessor, allBindingsAccessor);
});
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).datepicker("destroy");
});
},
update: function(element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
// If the date is coming from a Microsoft webservice.
if (typeof value === "string" && value.indexOf('/Date(') === 0) {
value = new Date(parseInt(value.replace(/\/Date\((.*?)\)\//gi, "$1")));
}
var currentDate = $(element).datepicker("getDate");
// Check if the date has changed.
if (value && value - currentDate !== 0) {
$(element).datepicker("setDate", value);
}
},
updateValue: function(element, valueAccessor, allBindingsAccessor) {
var observable = valueAccessor(),
dateValue = $(element).datepicker("getDate");
// Two-way-binding means a writeable observable.
if (ko.isWriteableObservable(observable)) {
observable(dateValue);
return;
}
if (allBindingsAccessor()._ko_property_writers) {
allBindingsAccessor()._ko_property_writers.datepicker(dateValue);
}
}
};
我使用淘汰賽2.1.0當我調試代碼,我才知道這是allBindingsAccessor()._ko_property_writers
是未定義的。因爲我不能更新nonobservable值。
有人建議我在3.0版本
上面代碼的解決方案通過使用下面的例子我已經修改了我的自定義綁定,它是偉大的工作。請找到更新的小提琴
我試過_twowaybindings ..但它不工作 – MaheshMajeti
如果你可以請編輯你的問題,並添加一個[最小示例](http://stackoverflow.com/help/mcve)並用最小的例子來描述問題,我會看看,看看我是否可以得到最小的例子工作。 –
我已經創建了js小提琴..關於我的問題 – MaheshMajeti