如何使用Knockout.JS创建具有不同值的select元素,然后创建文本
我明白如何使用Knockout.JS创建具有不同值的select元素,然后创建文本,select,knockout.js,Select,Knockout.js,我明白 <p>Destination country: <select data-bind="options: availableCountries"></select></p> <script type="text/javascript"> var viewModel = { availableCountries : ko.observableArray(['France', 'Germany', 'Spai
<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>
目的地国家:
var viewModel={
availableCountries:ko.observableArray(['France'、'Germany'、'Spain'])//这些是初始选项
};
应用绑定(视图模型);
将创建一个选择元素,如:
<select data-bind="options: availableCountries">
<option value="France">France</option>
<option value="Germany">Germany</option>
<option value="Spain">Spain</option>
</select>
法国
德国
西班牙
但如果我想让它像:
<select data-bind="options: availableCountries">
<option value="1">France</option>
<option value="2">Germany</option>
<option value="3">Spain</option>
</select>
法国
德国
西班牙
我的密码是什么
我知道我可以使用optionsText来填充选项,但optionsValue似乎不适合我
干杯,
Daniël您希望将数组
['France'、'Germany'、'Spain']
映射到一个结构,该结构将对值和文本具有单独的属性
比如说,
[
{ value: 1, name: 'France' },
{ value: 2, name: 'Germany' },
{ value: 3, name: 'Spain' }
]
然后,您可以将其绑定为:
<select data-bind="options: availableCountries, optionsText: 'name', optionsValue: 'value'"></select>
他们的文档中对这一点做了很好的介绍:@JasonGoemaat我不理解他们给出的示例,也没有让它起作用,我将努力解决这个问题,感谢目的地国家:var options=[{value:1,name:'France'},{value:2,name:'spaine'},{value:3,name:'Germany'}]var viewModel={availableCountries:ko.observearray(options)};ko.applyBindings(viewModel);
答案很好…!!+1