knockout使用选项绑定设置自定义属性

时间:2013-02-07 16:35:47

标签: data-binding knockout.js

我有一个简单的选择多个选项绑定如下:

<select multiple="multiple" width="50" data-bind="options: propositions, optionsText: function(item){ return item.name }, optionsValue: function(item) { return item.name }"></select>

这可以在选项项的value属性上设置item.name,如下所示:

<option value=" item.name value here ... "> item.name also here </option>

我想要的是设置这样的自定义属性:

<option value=" item.name " data-value = " item.name "> item.name also here </option>

是否可以告诉knockout在绑定中设置属性数据值,你会怎么做?

1 个答案:

答案 0 :(得分:14)

您可以使用options而非使用foreach绑定。在这种情况下,您可以将任何属性分配给选项元素:

<select multiple="multiple" width="50" data-bind="foreach: propositions">
   <option data-bind="value: name, attr: {'data-value': name}"></option>
</select>