2014-07-03 36 views
0

我在尝试更改按钮的单击事件。它有可能与否。我想检查按钮文本它的文本是“保存”,然后保存事件调用,否则,如果文本是“更新”,然后更新事件调用。如何更改按钮的点击事件

这里JSFIDDLE

查看

<input type="button" data-bind="click: $root.save ,value: Save" /> 

视图模型

function AppViewModel() { 
    var self = this; 
    self.Save = ko.observable("Save"); 

    self.save = function() { 
     self.Save("Update"); 
    } 

    self.update = function() { 
     alert('click'); 
     //change button text here  
    } 
} 

ko.applyBindings(new AppViewModel()); 

回答

3

你可以尝试使用单一功能的两个动作:

<input type="button" data-bind="click: $root.doAction ,value: Save" /> 
self.doAction = function() { 
    if (self.Save() == "Update") { 
    self.Save("Save"); 
    } else if (self.Save() == "Save") { 
    self.Save("Update"); 
    } 
} 

http://jsfiddle.net/norbiu/d4kkg/9/

+0

感谢它的工作... –

0

你可以做到以下几点:

data-bind="click: function(data, event) { $root.save(event.target.value) }" 

然后检查参数在save功能平等 “保存” 或 “更新”。