こんにちは、Knockout を使い始めました。私の目的では jQuery よりも簡単だからです。以前に jQuery を使用したことがありますが、コードがほとんど読めなくなりました。
私はこのJavaScriptビューモデルを持っています
function ovm() {
this.delStreet = ko.observable("");
this.deliveryNotSameAsInvoice = ko.observable(false);
this.invStreet = ko.observable("");
}
ko.applyBindings(new ovm());
そしてこのHTML:
<label><input type="checkbox" data-bind="checked: deliveryNotSameAsInvoice" />if your invoice address is not the same as delivery</label>
<div id="delivery">
<input type="text" placeholder="Street"
data-bind="value: delStreet, valueUpdate:'afterkeydown'" />
</div>
<div id="invoice" data-bind="visible: deliveryNotSameAsInvoice">
<input type="text" placeholder="Street"
data-bind="value: invStreet, valueUpdate:'afterkeydown'" />
</div>
<hr/>
Delivery street: <span data-bind="text: delStreet"></span><br/>
Invoice street: <span data-bind="text: invStreet"></span><br/>
問題は、チェックボックスがオフになっている限り、invStreet に delStreet の値を持たせたいということです。ここで動作する jsFiddleがあり、条件付きバインディングに関する このSO の質問が見つかりまし たが、適切なコード サンプルが見つかりません。jqueryでは、キーアップイベントを各テキストボックスにバインドする必要があり、チェックボックスがオンになっているかどうかに応じて、いくつかのフィールドを設定する必要がありました。大変な作業でした。特により大きな「ビューモデル」では