javascript:对象对象而不是集合中的值=(
因此,我试图基于下拉过滤器绘制相同的数据,但我还没有通过将数据存储到传递给绘图函数的变量的过程。我的警报给出了javascript:对象对象而不是集合中的值=(,javascript,Javascript,因此,我试图基于下拉过滤器绘制相同的数据,但我还没有通过将数据存储到传递给绘图函数的变量的过程。我的警报给出了对象对象,但它不应该是总值(在本例中) html <select id="performance_chart_filter"> <option value="totalValue">Total by Value</option> <option value="openValue">Open by Value</optio
对象对象
,但它不应该是总值
(在本例中)
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);
$j(“#性能#图表(过滤器)”)。更改(函数(){
plotWithChoice();
});
函数plotWithChoice(){
变量d={
“总价值”:{
标签:“总计”,
可点击:正确,
悬停:是的,
数据:
}
.
.
.
};
var filter=$j(“性能图表过滤器”);
var data=[d[filter.val()];
警报(数据);
No.filter.val()
很可能是字符串“totalValue”
d[filter.val()]
(或d[“totalValue”]
)将是对象d
的属性totalValue
的值,这是一个对象,因此是警报的输出对象对象
,因为这是像这样的通用对象的默认字符串表示
而[d[filter.val()]
是一个包含一个元素的数组,即上面提到的对象
要调试它,我建议您使用调试器(如Firebug),因为它可以以可读的形式显示对象
或者使用.toSource()
方法:
alert(data.toSource());
如果d对象的所有成员与显示的成员相似,并且d在范围内,则警报(数据)
将始终显示“object object”
如果filter.val()
为“totalValue”,则数据将为对象:
{
label: "Total",
clickable: true,
hoverable: true,
data: <%= @total %>
}
{
标签:“总计”,
可点击:正确,
悬停:是的,
数据:
}
这没有显式的toString
方法,因此将使用默认的toString
尝试警报(data.label)
,希望这会显示“总计”