启用/禁用输入 - 敲除

Cie*_*eja 4 html javascript asp.net-mvc input knockout.js

我点击按钮后,我想让我的表单可编辑.

我为单击按钮编写代码,但我不知道如何更改表单中输入的状态.

viewModel.test= function () {
   //code here
}
<input type="text"/> // Enable/Disable this
Run Code Online (Sandbox Code Playgroud)

我可以禁用/启用表单中的所有输入,或者我只需要逐个执行此操作吗?

Ric*_*thy 12

使用纯粹的淘汰赛,你可以做到这一点,基本上切换isDisabled更新disabled绑定元素上的属性的observable .您可以使用knockout attr绑定来设置元素的属性.

var ViewModel = function() {
    var self = this;
    self.isDisabled = ko.observable(false);
    this.disable = function(){
        self.isDisabled(true);
    }
    this.enable = function(){
         self.isDisabled(false);
    }
};

ko.applyBindings(new ViewModel()); 


<div>
    <input type="text" data-bind="attr : {'disabled' : isDisabled}"/> // Sets disabled attribute if isDisabled is true.
    <input type="text" data-bind="attr : {'disabled' : isDisabled}"/>
    <button data-bind="click : disable">Disable</button>
    <button data-bind="click : enable">Enable</button>
</div>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/xggu9Lv2/2/