を移入した後、私はこのように感じるバインディングが以前に頼まれている必要がありますが、私はKnockoutjs:リフレッシュ選択リスト
- Knockout JS binding initial value of dropdown list
- Knockout does not sync manual set of option's selected attribute
- How to pre-select an option in a dropdown knockout js
と
を見てきましたしかし、これらの問題は私が直面しているものではありませんでした。
私の見解では、私はajax呼び出しからビューモデルを受け取ります。そのオブジェクトには国IDがあります。その後のajax呼び出しでは、国(名前とID)のリストを取得し、リストから選択ボックスに値を設定します。
選択ボックスが
<select data-bind="value: CountryId"/>
を使用してのviewmodelの国のIDにバインドされている。しかし、私はドロップダウンを移入する場合、のviewmodelの国が事前に選択されていません。手動でko.applyBindings(vm)を呼び出す必要があります。これは、データがカスケードされた選択ボックスを処理するjQueryプラグインから読み込まれるためです。それはviewmodelへの参照を持っていません(私はそれを提供しません)。私はコールバックを公開することができますが、それは少し夜明けです。
私はを作成しました。これはこの問題をより明確に示しています。テスト選択ボタンをクリックすると、ドロップダウンがアイテム0にあらかじめ選択されていることがわかります。jsパネルの行のコメントを外し、Bobさんのおじさんのコメントを外します。
ここには何がありますか?これは基本的なノックアウト機能ではありませんか?
-Jules
あなたがしようとしていることをやり遂げることはできないと思います。値バインディングは、新しいオプションを選択したときに反応するように、選択のためのリスナーを「変更」に設定します。選択肢にオプションを追加するだけなので、Knockoutには何もする必要がないことが分かりません。たとえそれがわかっていても、値が0にリセットされます。オプションでは、選択されている行が指定されていないため、0が選択されます。 –
私はあなたが正しいかもしれないと思います。私は今、コールバックの仕組みに行ってきましたが、私はそれに問題を抱えています。新しい情報で質問を更新しました。 –
スクラッチ、私は二次的な問題を解決しました。まもなく、この質問への回答が掲載されます。 –