如何使用敲除创建 select

How to create a select using knockout

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

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

您声明了 function vague(id, desc),但您却像 new Vague(1, 'wave') 一样使用它。保持大小写一致。

主要问题是您如何设置 optionsText: vagueDesc。 optionsText 应设置为 属性 名称(作为字符串)。所以你需要把它改成optionsText: 'vagueDesc'.