2 つの配送タイプのフォーム (名前、住所、郵便番号など) と、[配送先住所は配送先住所と同じです] というボタンがあります。基本的に、ユーザーがそのボタンをクリックすると、最初のフィールドの同じオブザーバブルが2番目のフィールドと共有されるようにしようとしています。私がこれにアプローチした方法(おそらく非常に間違っている)は、次のように2セットのオブザーバブルを設定することです:
self.firstName = ko.observable("");
self.lastName = ko.observable("");
self.phoneNumber = ko.observable("");
self.address1 = ko.observable("");
self.address2 = ko.observable("");
self.city = ko.observable("");
self.state = ko.observable("");
self.postcode = ko.observable("");
self.delFirstName = ko.observable("");
self.delLastName = ko.observable("");
self.delPhoneNumber = ko.observable("");
self.delAddress1 = ko.observable("");
self.delAddress2 = ko.observable("");
self.delCity = ko.observable("");
self.delState = ko.observable("");
self.delPostcode = ko.observable("");
そして、クリックすると配送の詳細を共有する機能を設定しようとしました。
self.sameDelAddress = function() {
self.delFirstName() = self.firstName(self.firstName);
self.delLastName() = self.lastName(self.lastName);
self.delPhoneNumber() = self.phoneNumber(self.phoneNumber);
self.delAddress1() = self.address1(self.address1);
self.delAddress2() = ko.observable(self.address2);
self.delCity() = ko.observable(self.city);
self.delState() = ko.observable(self.state);
self.delPostcode() = ko.observable(self.postcode);
}