繁体   English   中英

使用淘汰表从选择列表中检索值

[英]Retrieving value from select list with knockout.js

我正在使用Knockout.js 2.3.0,并且试图检索选择列表中设置的值,但是我无法使其正常工作。 当我尝试提醒该值时,我会看到javascript,未定义或[对象对象](取决于我尝试过的内容)。

该列表已填充好,我可以设置默认值,但无法检索它。 我究竟做错了什么?

这是列表的HTML

<select data-bind='value: selectedMonth, options: $root.months, optionsText: "month"'></select>

这是JS

self.months = [{month: '-'},{month: '01'},{month: '02'},{month: '03'},{month: '04'},{month: '05'},{month: '06'},{month: '07'},{month: '08'},{month: '09'},{month: '10'},{month: '11'},{month: '12'}];

self.selectedMonth = ko.observable(self.months[0]);

self.submitButton = function(){

   alert(self.selectedMonth); //a bunch of JavaScript

    alert(self.selectedMonth()); //object, Object

    alert(self.months[self.selectedMonth]); //undefined

}

这是摆弄代码

您的第二个电话是您想要的电话:

self.selectedMonth()

这将可观察值解包为该值。 它是一个对象,例如:

{ month: "03" }

如果使用console.log而不是alert console.log容易发现

无论如何,要获取月份值,只需请求该属性即可:

alert(self.selectedMonth().month);

看到这个小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM