我在Knockout.js的observableArray
中存储了一个对象数组,并且我试图将对象的属性之一绑定(bind)到optionsText
元素的select
绑定(bind)中,但是,这不起作用,选项不起作用正在显示。
observableArray最初为空白,并由AJAX请求填充:
self.currentPeople = ko.observableArray([]);
遵循AJAX请求,我可以对此进行
console.log
并收到以下回复:console.log(self.currentPeople);
// Produces [Object, Object] where each of the objects have properties of `personId` and `personName`
但是我的选择下拉列表仍然没有填充:
<select class="large-3" data-bind="options: currentPeople, optionsText: 'personName', optionsValue: 'personId', optionsCaption: 'All', value: currentPerson"></select>
仅出现“全部”。有任何想法吗?
最佳答案
如果console.log(self.currentPeople)
显示了对象数组,则意味着您正在(错误地)使用赋值填充它,而不是将其作为函数调用。
填充为:
self.currentPeople(newData);