[英]javascript object field set input value [object Object] instead of float
[英]javascript: object Object instead of value from set =(
因此,我试图基于下拉过滤器来绘制相同的数据,但是我并没有过去将数据存储到传递给绘图函数的变量中。 我的警报给出了object Object
,但是它不应该是totalValue
(在此示例中)吗?
HTML
<select id="performance_chart_filter">
<option value="totalValue">Total by Value</option>
<option value="openValue">Open by Value</option>
<option value="declinedValue">Declined by Value</option>
<option value="acceptedValue">Accepted by Value</option>
</select>
JavaScript
$j("#performance_chart_filter").change(function(){
plotWithChoice();
});
function plotWithChoice() {
var d = {
"totalValue": {
label: "Total",
clickable: true,
hoverable: true,
data: <%= @total %>
}
.
.
.
};
var filter = $j("#performance_chart_filter");
var data = [d[filter.val()]];
alert(data);
否filter.val()
最有可能是字符串"totalValue"
。
d[filter.val()]
(或d["totalValue"]
)将是对象d
的属性totalValue
的值,该对象d
是alert
的对象,因此是alert
的输出Object object
,因为这是的默认字符串表示形式这样的通用对象。
并且[d[filter.val()]]
是一个数组,其中一个元素即上述对象。
要进行调试,建议您使用调试器(例如Firebug),因为它可以以可读形式显示对象。
或使用.toSource()
方法:
alert(data.toSource());
如果d对象的所有成员都与所示成员相似,并且d在范围内,则alert(data)
将始终显示“ object Object”。
如果filter.val()
为“ totalValue”,则数据将为对象:
{
label: "Total",
clickable: true,
hoverable: true,
data: <%= @total %>
}
它没有显式的toString
方法,因此将使用默认的toString
。
尝试alert(data.label)
,希望它会显示“ Total”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.