如何使用敲除创建选择

Posted

技术标签:

【中文标题】如何使用敲除创建选择【英文标题】:How to create a select using knockout 【发布时间】:2021-02-05 22:09:50 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何使用敲除创建选择的主要内容,如果未能解决你的问题,请参考以下文章

如何使用敲除数据绑定在新选项卡中打开按钮链接

清除敲除验证错误

使用敲除的键盘导航

如何在打字稿中定义敲除绑定处理程序?

如何在敲除时在 foreach 循环中绑定输入值

如何将敲除数据绑定到没有名称的数组[重复]