无法从knockout.js选择列表中访问值

时间:2013-12-03 19:10:23

标签: javascript knockout.js

我无法从knockout.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

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

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

1 个答案:

答案 0 :(得分:1)

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

 var yourSelectedCardType = self.cardType().type;