如何在父级中获取optionsText?

时间:2014-05-30 15:37:49

标签: knockout.js

使用带有正常observerableArray绑定的简单options时,效果非常好。但是,我不确定在父母中设置它的最佳方法是什么。

HTML:

<div data-bind="foreach: someParent">
    <select data-bind="options: $parent.choices, 
                       optionsText: $data, 
                       value: $parent.choice">
    </select>
</div>

JS:

function ViewModel() {
    this.someParent= ko.observableArray(["Whatevs"]);
    this.choices = ko.observableArray(["one", "two", "three"]);
    this.choice = ko.observable("two");
};

ko.applyBindings(new ViewModel());

如果不在foreach中,select元素会自动选择&#34; two&#34;从列表中。

1 个答案:

答案 0 :(得分:1)

来自文档:

  

如果参数的值是一个字符串数组,则不需要提供任何其他参数。

删除optionsText参数将为您提供所需的结果。

<select data-bind="options: $parent.choices, 
                   value: $parent.choice">
</select>

请参阅Fiddle