Javascript 动态创建名称为java脚本字符串的java脚本数组
我有一个动态生成的数组集合。我想做的是实现一个自动完成功能。我想在click事件处理程序中使用这些数组,方法是动态获取名称并将其分配给本地数组。但这不起作用(我不确定我的代码是否正确)。有没有办法做到这一点 以下是我认为应该有效的代码(无效):Javascript 动态创建名称为java脚本字符串的java脚本数组,javascript,arrays,Javascript,Arrays,我有一个动态生成的数组集合。我想做的是实现一个自动完成功能。我想在click事件处理程序中使用这些数组,方法是动态获取名称并将其分配给本地数组。但这不起作用(我不确定我的代码是否正确)。有没有办法做到这一点 以下是我认为应该有效的代码(无效): var ga_input1=新数组(“印度”、“俄罗斯”、“挪威”); var ga_input2=新数组(“德里”、“孟买”、“海得拉巴”); 国家: 城市: var arrayTmp=新数组(); $('input').keydown(函数(){
var ga_input1=新数组(“印度”、“俄罗斯”、“挪威”);
var ga_input2=新数组(“德里”、“孟买”、“海得拉巴”);
国家:
城市:
var arrayTmp=新数组();
$('input').keydown(函数(){
var id=$(this.attr('id');
arrayTmp=“ga_”+id;//我认为这里的ga_input1/ga_input2的值被分配给数组“arrayTmp”
//警报(arrayTmp[0]);
});
您可以将这些数组放在“映射”中,然后很容易地从中获取它们
这是如何做到的:
var countryMap = {};
countryMap["Europe"] = ['Russia', 'England', 'Norway'];
countryMap["America"] = ['USA', 'Canada', 'Mexico'];
....
var arrayTmp = countryMap["America"];
alert(arrayTmp[0]); //USA
alert(arrayTmp[1]); //Canada
alert(arrayTmp[2]); //Mexico
您可以将这些数组放在“映射”中,然后很容易地从中获取它们 这是如何做到的:
var countryMap = {};
countryMap["Europe"] = ['Russia', 'England', 'Norway'];
countryMap["America"] = ['USA', 'Canada', 'Mexico'];
....
var arrayTmp = countryMap["America"];
alert(arrayTmp[0]); //USA
alert(arrayTmp[1]); //Canada
alert(arrayTmp[2]); //Mexico
所有全局变量都是窗口对象的成员,因此:
arrayTmp = window["ga_"+id];
但我个人会把数据放在这样一个对象中:
data = {
'input1': ['India','Russia','Norway'],
'input2': ['Delhi','Mumbai','Hyderabad']
};
...
arrayTmp = data[id];
所有全局变量都是窗口对象的成员,因此:
arrayTmp = window["ga_"+id];
但我个人会把数据放在这样一个对象中:
data = {
'input1': ['India','Russia','Norway'],
'input2': ['Delhi','Mumbai','Hyderabad']
};
...
arrayTmp = data[id];
您在
arrayTmp
中拥有的只是一个字符串“ga_input1”
。相反,请尝试eval(“arrayTmp=ga_”+id)
您在arrayTmp
中拥有的只是一个字符串“ga_input1”
。相反,请尝试eval(“arrayTmp=ga_”+id)代码>评估('var arrayTmp=ga_u'+id);
警报(arrayTmp[0]) eval('var arrayTmp=ga_'+id);
警报(arrayTmp[0])