[英]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.