gpt4 book ai didi

knockout.js - 选项绑定(bind) : select list does not reflect value of bound object

转载 作者:行者123 更新时间:2023-12-04 23:28:46 25 4
gpt4 key购买 nike

我在 jQuery 模板中使用的选择列表上使用选项绑定(bind):

<select data-bind="options: contactsViewModel.emailTypes, optionsText: 'Value', value: EmailType"></select>

该模板通过多个电子邮件地址的 knockout foreach 调用。

EmailTypes 是 emailtype 对象的列表
电子邮件对象由包含电子邮件地址字符串值的 Value 属性、包含 Guid id 的 Id 属性和包含 emailtype 对象的电子邮件类型属性组成。

emailtype 对象由 Value 属性组成,该属性包含电子邮件类型的名称和一个 guid id。

下拉列表中正确填写了可用的电子邮件类型,但下拉列表未选择正确的项目。它不反射(reflect)绑定(bind)到它的对象的值。

编辑:
带有显示选择行的模板被此调用:
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":"jan@jan.com","Id":"a7aae8fd-6ca3-49ae-b529-124d37a148ca"}

使用映射插件将这些对象的属性转换为可观察对象。

emailTypes 是一个填充了 EmailType 对象的 observableArray:
{"Value":"Home","Id":"191e8a64-8110-493c-b443-3063ff3a852a"}

最佳答案

下拉菜单不选择有界值,因为下拉菜单甚至不知道它绑定(bind)到哪个属性。您需要指定 selectedOptions数据绑定(bind)中的属性。
options属性告诉下拉它持有的数组。
optionsText属性告诉下拉列表用于显示每个数组项的属性。
optionsValue属性告诉下拉列表哪个属性用于选项值。

下拉列表如何知道它绑定(bind)到哪个值?

使用selected options

关于knockout.js - 选项绑定(bind) : select list does not reflect value of bound object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com