是否可以在你的淘汰赛foreach绑定中声明一个javascript函数?我想从我的视图模型之外的javascript函数生成一个列表。
<select class="form-control" data-bind="foreach: { data: function() { // return list values } }">
<option data-bind="text: Value, attr: { value: Value }"></option>
</select>
答案 0 :(得分:1)
不确定您使用<option data-bind="text: Value, attr: { value: Value }"></option>
尝试实现的目标。
请查看我的fiddle以了解一些不同的设置。它包含options
元素foreach
和select
绑定的用法。
要回答这个问题,请在viewModel
中提供一项功能,以提供所需的数据。只要您的viewModel可以“访问”数据,该函数就会将其提供给绑定。如果数据是一个简单的文字列表,那么所需要的只是:
使用Javascript:
var listOfLiterals = function() { return ["One", "Two", "Three"] };
var viewModel = {
selectedLiteral: ko.observable(),
getLiterals: function() {
return listOfLiterals();
}
}
HTML:
<select data-bind="options: getLiterals(), value: selectedLiteral"></select>