Knockout Foreach Javascript功能

时间:2013-10-28 16:44:18

标签: javascript knockout.js foreach

是否可以在你的淘汰赛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>

1 个答案:

答案 0 :(得分:1)

不确定您使用<option data-bind="text: Value, attr: { value: Value }"></option>尝试实现的目标。

请查看我的fiddle以了解一些不同的设置。它包含options元素foreachselect绑定的用法。

要回答这个问题,请在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>