Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:对象对象而不是集合中的值=(_Javascript - Fatal编程技术网

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)
,希望这会显示“总计”