所以这就是我想要做的事情:
我的名为data_1
的变量已设置。
var data_1 = {
"y_legend": {
"text": "# of Patients",
"style": "{font-size: 20px; color: #778877}"
},
"x_legend": {
"text": "AUG 09 - OCT 09",
"style": "{font-size: 20px; color: #778877}"
}
};
在下拉列表中,用户会选择一个名为data_1
的选项,该选项会调用load('data_1')
。
function load(data)
{
tmp = findSWF("my_chart");
x = tmp.load( JSON.stringify(data) );
}
我的问题:我选择的值为data_1
而不是变量本身。
因此,在我的函数load('data_1')
中,当我alert(data)
时,我得到data = 'data_1'
。
那么如何通过只传递字符串的名称来获取我的加载函数中变量data_1
的内容?
答案 0 :(得分:4)
var data_1 = { /* data goes here */ };
var data_choices = {1: data_1, 2: data_2, /* and so on */};
var load = function (data) {
// data is "1", "2", etc. If you want to use the full data_1 name, change
// the data_choices object keys.
var tmp = findSWF("my_chart");
var x = tmp.load( JSON.stringify(data_choices[data]) );
}
答案 1 :(得分:3)
如果它是全局变量,您可以使用
引用它window['the_variable_name']
E.g。
function load(data)
{
tmp = findSWF( "my_chart" );
x = tmp.load( JSON.stringify( window[data] ) );
}
答案 2 :(得分:2)
或者你可以简单地使用
alert(eval(data))