我正在实施注册表单,当我点击提交按钮时,我想使用Knockout禁用文本框。
我尝试了以下内容:
var viewModel = {
Textboxcontrol: ko.observable(true), // by default textbox is enable to edit
Register: {
Init: function () {
Textboxcontrol= false; // Updating the value to false
// so Textbox should be disabled.
}
};
ko.applyBindings(viewModel);
在UI上我写了如下
<input data-bind="value: Name, enable: Textboxcontrol"
type="text" autocomplete="off" />
但问题是,如果我将值更改为Textboxcontrol= false;
,它的值仅为True
,并且文本框不会禁用。
答案 0 :(得分:2)
由于Textboxcontrol是一个可观察的,因此必须通过将其作为函数调用来更改其值。另外,您必须使用this
访问“Init”函数中的Textboxcontrol属性:
var viewModel = {
Name: ko.observable(''),
Textboxcontrol: ko.observable(true),
Register: {
Init: function () {
this.Textboxcontrol(false);
}
}
};
ko.applyBindings(viewModel);