0

次のKnockoutJSコードを使用して、4つのアドレスタイプ(「自宅」、「オフィス」など)を持つことができるアドレスフォームエディターのデータバインディングを作成します。

http://jsfiddle.net/mxgFQ/1/

現在、すべてが正常に機能していますが、selectedAddressはインデックス0になるようにハードコーディングされています

self.selectedAddress = ko.observable(self.addresses[0]);

これを行う代わりに、データが入力されている最初のアドレスオブジェクトを選択します。

これを行う方法についての手がかりはありますか?

感謝。

4

1 に答える 1

1

Knockoutのユーティリティ関数は、非常に便利な関数を提供しarrayFirstます。これにより、次のことが簡単になります。

self.selectedAddress = ko.observable(
        ko.utils.arrayFirst(self.addresses(), function(item) {
            return item.address1().length > 0;
        }));

これが更新されたフィドルです。

KOのユーティリティ関数の便利なリファレンスは次のとおりです。

于 2012-07-23T21:17:33.557 に答える