このコードは検索を行い、結果を表示します。条件付きで s を無効にしたいいつ無効にするinput
かを制御するためにノックアウトを使用してinput
います。
要件:
input
システムによって設定されると無効になります。- ユーザー入力を無効にしないでください。
次のコードでは、からの入力がreadDatabase()
うまく機能します。ユーザーが出身地/ニックネームinput
を入力すると、タブアウトしてからinput
無効になります。2 番目の要件を満たすようにこのコードを修正するにはどうすればよいですか?
アップデート
私は、jQuery から何らかの助けを得ることに反対しているわけではありません。ビュー モデル バインディングを完全に破棄したくありません。
HTML
Name: <input type="text" data-bind="value: userInput, valueUpdate: 'input'" /><br />
Hometown: <input type="text" data-bind="value: Hometown, disable: Hometown" /><br />
NickName: <input type="text" data-bind="value: Address, disable: Address" />
JavaScript
function MyViewModel() {
var self = this;
self.userInput = ko.observable();
self.Hometown = ko.observable();
self.Address = ko.observable();
self.userInput.subscribe(function () {
readDatabase(self);
});
}
ko.applyBindings(new MyViewModel());
function readDatabase(self){
if(self.userInput().substring(0,1) == "a"){
self.Hometown("A town");
self.Address("A address");
}
else {
self.Hometown("");
self.Address("Other address");
}
}