1
我想創建一個網頁與knockoutjs模型,允許用戶使用模式彈出窗口更新項目。對於模式,我想使用jQuery facebox插件 - http://defunkt.io/facebox/knockoutjs與facebox模式
我有一個正在進行的演示工作,直到第二次嘗試更新項目。你更新的第一個項目保存良好,但綁定似乎丟失。我試圖修改其他問題的示例以適應facebox插件,但似乎無法做到。
我使用這樣定義的自定義bindinghandler: -
ko.bindingHandlers.modal = {
init: function(element, valueAccessor, allBindingsAccessor) {
var allBindings = allBindingsAccessor();
var $element = $(element);
$element.addClass('hide modal');
if (allBindings.modalOptions) {
if (allBindings.modalOptions.beforeClose) {
$element.on('hide', function() {
return allBindings.modalOptions.beforeClose();
});
}
}
return ko.bindingHandlers['with'].init.apply(this, arguments);
},
update: function(element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
var returnValue = ko.bindingHandlers['with'].update.apply(this, arguments);
if (value) {
$.facebox(element);
} else {
$(document).trigger('close.facebox');
}
return returnValue;
}
};
在我的淘汰賽模式,我有一個變量來存儲我的模式編輯選中的項目,功能更新/保存/取消它
self.editingMapmarker = ko.observable();
self.editMapmarker = function(mapmarker) {
self.editingMapmarker(mapmarker);
self.editingMapmarker().reset();
};
self.saveMapmarker = function() {
self.editingMapmarker().accept();
self.editingMapmarker(undefined);
}
self.cancelSaveMapmarker = function() {
self.editingMapmarker(undefined);
}
我有我的工作的jsfiddle迄今爲止 - http://jsfiddle.net/juBxs/
誰能幫我把結合堅持的先救後?
我已經升級到2.2 KO,它的工作現在謝謝。 – user1573618