我无法从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"})
我知道它已被设置,我只是不知道如何访问它。
答案 0 :(得分:1)
您的cardTypeList
是一个对象列表,因此,要访问您应该选择的cardType
,
var yourSelectedCardType = self.cardType().type;