1

このコードは検索を行い、結果を表示します。条件付きで s を無効にしたいいつ無効にするinputかを制御するためにノックアウトを使用してinputいます。

要件:

  1. inputシステムによって設定されると無効になります。
  2. ユーザー入力を無効にしないでください。

次のコードでは、からの入力が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");
    }
}
4

1 に答える 1