如何使用knockout将所选选项传递给可观察数组

时间:2016-07-15 20:36:12

标签: javascript select knockout.js observable

我正在尝试使用knockout js将下拉列表的选定值传递给我的视图模型。

<select class="form-control" style="width:auto" data-bind="options: clients, optionsCaption: 'Choose...', optionsText: 'name', optionsValue: 'value', value: 'selectedCustomer'"></select>

在我的视图模型中,我声明了一个ko observable来存储所选的值:

self.selectedCustomer = ko.observableArray([]);

选择值时,变量未填充。有小费吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我可以看到代码有两个问题:

您将值绑定到observableArray,但所选的选项将是单个客户,因此应使用observable

值(value: 'selectedCustomer')也不应该用单引号括起来,因为这样你就可以有效地尝试绑定到字符串而不是observable。

尝试以下方法:

<select class="form-control" style="width:auto" data-bind="options: clients, optionsCaption: 'Choose...', optionsText: 'name', optionsValue: 'value', value: selectedCustomer"></select>

然后在视图模型中:

self.selectedCustomer = ko.observable();