Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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,我有一个object literal,其中包含一个国家列表,有两个值:price和name: 当选择更改时,我存储当前所选国家/地区的值: 我将这个值存储在变量内部函数中。change(): 我通过这种方式访问对象文本,例如countries\u list.deu 但当我使用当前的_country变量时,控制台会显示未定义的内容: console.log(countries_list.current_country); 如何解决此问题?使用selectedIndex获取所选值索引,并使用

我有一个object literal,其中包含一个国家列表,有两个值:price和name:

当选择更改时,我存储当前所选国家/地区的值:

我将这个值存储在变量内部函数中。change():

我通过这种方式访问对象文本,例如
countries\u list.deu

但当我使用当前的_country变量时,控制台会显示未定义的内容:

 console.log(countries_list.current_country);

如何解决此问题?

使用selectedIndex获取所选值索引,并使用.options[I].value获取具有以下索引的选项值:

var countries = document.getElementById("country");
var current_country = countries.options[countries.selectedIndex].value;

您应该使用括号表示法

console.log(countries_list[current_country]);
在您的例子中,它实际上在对象中查找名为
current\u country
的属性,而该属性不存在


为了更好地理解两种不同的符号

我们可以请js fiddle吗?不。。。是一个项目与拉拉维利编辑与其他截图的主要帖子
console.log(countries_list[current_country]);