我想让我的表单在单击按钮后可编辑。
我编写了用于单击按钮的代码,但我不知道如何更改表单中输入的状态。
viewModel.test= function () {
//code here
}
<input type="text"/> // Enable/Disable this
我可以禁用/启用表单中的所有输入,还是我只需要一项一项地执行?
最佳答案
使用纯 knockout ,您可以做到这一点,基本上是切换 isDisabled
observable,它会更新绑定(bind)元素上的 disabled
属性。您可以使用 knockout attr
绑定(bind)来设置元素的属性。
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>
关于javascript - 启用/禁用输入 - knockout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29562088/