如何将hirarchial数组绑定到knockout js中的下拉列表?

时间:2014-04-10 17:53:07

标签: jquery knockout.js knockout-2.0

我正在尝试将可观察数组的集合绑定到dropdwon列表,但它没有绑定下拉列表。任何人都可以指导我如何实现这一目标吗?

我的视图模型

function viewmodel() {
var self = this;
self.Option = ko.observableArray([{
    mealName: "Standard (sandwich)",
    price: 0
}, {
    mealName: "Premium (lobster)",
    price: 34.95
}, {
    mealName: "Ultimate (whole zebra)",
    price: 290
}]);
self.OptionsArray = ko.observableArray();
self.addOption = function () {
    self.OptionsArray.push(self.Option);
}
}
var vm = new viewmodel();
ko.applyBindings(vm);

绑定如下

<button data-bind="click: addOption">Add</button>
<!-- ko foreach: OptionsArray -->
<select data-bind="options:Option,optionsText:'mealName'"></select>
<!-- /ko -->

这是JS小提琴 http://jsfiddle.net/Uj8Zt/

1 个答案:

答案 0 :(得分:1)

在绑定内部,您需要绑定$data而不是Option,因为它将代表OptionsArray中循环中的当前项。

http://jsfiddle.net/rniemeyer/5JXgK/