【发布时间】:2020-03-05 00:23:00
【问题描述】:
我有一个 HTML 下拉菜单,我在其中使用 Knockout.js 绑定选项。通过下拉菜单,您可以选择 ISO 国家/地区代码。在(短)下拉列表中,我想将两个字母的国家代码显示为文本。只有当用户打开下拉菜单时,国家的全名才会出现。比如:
+=======+===+
| DE | v |
+=======+===+
| Germany |
| England |
| France |
| Spain |
| USA |
+-----------+
现在,我的 HTML 代码如下所示:
<select class="form-control w-25" data-bind="
value: customAddress.country,
options: countryList,
optionsText: 'name',
optionsValue: 'code',
optionsCaption: 'Country'
" required></select>
显然,如果您选择它,下拉列表现在会显示“德国”。我找到了一些想法,可以在 onBlur 事件中使用 jQuery 替换下拉列表的显示文本。但我担心,这会干扰敲除的数据绑定机制(所有属性都是可观察的)。
我该如何解决?我需要自定义绑定吗?
【问题讨论】:
-
请分享您的视图模型
标签: javascript jquery html knockout.js