首页 > 解决方案 > 如何使用敲除创建选择

问题描述

我正在尝试创建一个对象的选择绑定到下拉列表,但我什么也没得到。

html

<select data-bind="options: defaultConvocationVagues,
                               optionsText: vagueDesc,
                               value: selectedVague">
</select>

Javascript

$(function() {
   ko.applyBindings(new ViewModel());
});
function vague(id,desc)
{
   this.vagueID = ko.observable(id);
 this.vagueDesc = ko.observable(desc);
}
var ViewModel = function () {
   var self = this;
   this.defaultConvocationVagues = ko.observableArray();
   this.selectedVague = ko.observable();
   self.defaultConvocationVagues.push(new Vague(1,'wave1'));
   self.defaultConvocationVagues.push(new Vague(2,'wave2'));
   self.defaultConvocationVagues.push(new Vague(3,'wave3'));
};

这是一个JSfiddle

标签: javascriptc#knockout.js

解决方案


你声明function vague(id, desc)了,但你像new Vague(1, 'wave'). 保持外壳一致。

主要问题是你如何设置optionsText: vagueDesc. optionsText 应设置为属性名称(作为字符串)。因此,您需要将其更改为optionsText: 'vagueDesc'.


推荐阅读