首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Knockout.JS使select元素与文本元素具有不同的值

如何使用Knockout.JS使select元素与文本元素具有不同的值
EN

Stack Overflow用户
提问于 2012-05-02 17:56:26
回答 1查看 4.9K关注 0票数 16

我能理解

代码语言:javascript
复制
<p>Destination country: <select data-bind="options: availableCountries"></select></p>

<script type="text/javascript">
    var viewModel = {
        availableCountries : ko.observableArray(['France', 'Germany', 'Spain']) // These are the initial options
    };

    ko.applyBindings(viewModel);
</script> 

将创建一个select元素,如下所示:

代码语言:javascript
复制
<select data-bind="options: availableCountries">
    <option value="France">France</option>
    <option value="Germany">Germany</option>
    <option value="Spain">Spain</option>
</select>

但是如果我希望它是这样的呢:

代码语言:javascript
复制
<select data-bind="options: availableCountries">
    <option value="1">France</option>
    <option value="2">Germany</option>
    <option value="3">Spain</option>
</select>

我的代码是什么?

我知道我可以使用optionsText来填充选项,但是optionsValue似乎不适合我

干杯,丹妮尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-02 21:43:06

您可能希望将数组['France', 'Germany', 'Spain']映射到一个对valuetext具有单独属性的结构。

例如,

代码语言:javascript
复制
[
   { value: 1, name: 'France' }, 
   { value: 2, name: 'Germany' }, 
   { value: 3, name: 'Spain' }
]

然后,您可以像这样绑定它:

代码语言:javascript
复制
<select data-bind="options: availableCountries, optionsText: 'name', optionsValue: 'value'"></select>
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10411455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档