質問: オプションのバインディング:選択リストはバインドされたオブジェクトの値を反映しません 私は、jQueryテンプレートで使用されている選択リストでオプションのバインディングを使用しています。 ``` ``` テンプレートは、複数の電子メールアドレスに対してノックアウトforeachを使用して呼び出されます。 EmailTypesはemailtypeオブジェクトのリストです 電子メールオブジェクトは、電子メールアドレスの文字列値を含むValueプロパティ、Guid IDを含むIdプロパティ、およびemailtypeオブジェクトを含む電子メールタイププロパティで構成されます。 emailtypeオブジェクトは、電子メールタイプの名前とGUID IDを含むValueプロパティで構成されます。 ドロップダウンには利用可能な電子メールの種類が正しく入力されていますが、ドロップダウンでは適切な項目は選択されません。バインドされたオブジェクトの値は反映されません。 EDIT: The template with the showed select line is getting called by this: tbody data-bind="template: { name: 'emailTemplate', foreach: contactsViewModel.selectedContactEmails }"> selectedContactEmailsは、電子メールオブジェクトで埋められたobservableArrayです.Jsonでは次のようになります。 ``` {"EmailType":{"Value":"Home","Id":"191e8a64-8110-493c-b443-3063ff3a852a"},"ParentId":"191e8a64-8110-493c-b443-3063ff3a852c","Parent":null,"Value":"[email protected]","Id":"a7aae8fd-6ca3-49ae-b529-124d37a148ca"} ``` これらのオブジェクトのプロパティは、マッピングプラグインを使用してオブザーバブルに変換されます。 emailTypesは、EmailTypeオブジェクトで満たされたobservableArrayです。 ``` {"Value":"Home","Id":"191e8a64-8110-493c-b443-3063ff3a852a"} ```
回答: ドロップダウンでは、バインドされている属性がわからないため、ドロップダウンでは境界値が選択されません。データバインディングで `selectedOptions` 属性を指定する必要があります。 `options` 属性は、それが保持する配列についてのドロップダウンを指示します。 `optionsText` 属性は、各配列項目に対してどのプロパティを使用して表示するかを示します。 `optionsValue` 属性は、どの値がオプション値に使用されているかをドロップダウンに伝えます。 どのような値がバインドされているのか、ドロップダウンリストはどのようにしてわかりますか? Use selected options