如何使用敲除创建 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'
.
我正在尝试创建一个 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'
.