访问knockout.js选择列表中的值时出现问题

Trouble accessing value from knockout.js select list

本文关键字:问题 knockout js 选择 列表 访问      更新时间:2024-02-27

我无法访问敲除的值。JS选择列表

<select data-bind="value: cardType,
    optionsCaption: '--',
    options: $root.cardTypeList,
    optionsText: 'type'"></select>
self.cardTypeList = [{type: 'Visa'},
    {type: 'MasterCard'},
    {type: 'American Express'}];
self.cardType = ko.observable("").extend({ required: true });

我尝试了以下方法来检索所选的值,这些是我使用alert显示它们时的响应。

self.cardType()                     //displays [object object]
self.cardType                       //displays a whole bunch of javascript
self.cardTypeList[self.cardType()]  //displays undefined

如果我从列表中选择万事达卡,然后在firebox中使用alert(self.cardType().toSource()),它会显示({type:"MasterCard"})

我知道它正在被设置,只是不知道如何访问它。

您的cardTypeList是一个对象列表,因此,要访问所选的cardType,您应该执行

 var yourSelectedCardType = self.cardType().type;