我正在尝试为类编写一个html页面,它使用下拉菜单来允许用户拉出相关信息的列表。不幸的是,我在弄清楚如何对数组中的信息进行脚本调用时遇到了问题。jsfiddle有完整的html部分,如果有任何帮助,我们将不胜感激。
请记住,我对术语不是很在行,所以请尽可能具体。特别是关于jQuery,我们的老师并没有过多的讲解,所以这对我来说是一个非常神秘的问题。
此外,我确实计划向数组中的对象添加更多信息,但在使其正常工作之前,我不想将时间浪费在可能需要重构的东西上。
http://jsfiddle.net/GamerGorman20/nw8Ln6ha/11/
var favWebComics = [
Goblins = {1: "www.goblinscomic.org"},
GirlGenious = {1: "www.girlgeniousonline.com"},
GrrlPower = {1: "www.grrlpowercomic.com"}
];
var myFunction = function() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
document.getElementById("web").innerHTML = favWebComics.x;
};同样,JSFiddle链接有完整的html,目前有一些未使用的项目,但我计划很快添加更多。
我的下一个计划是将图像合并到对象中,以便为每个选择选项加载一张图片。我该怎么做呢?
发布于 2015-05-15 08:38:19
[ ]用于数组,数组以数字为索引。如果需要命名属性,则应使用对象,该对象的文字使用{ }:
var favWebComics = {
Goblins: "www.goblinscomic.org",
GirlGenious: "www.girlgeniousonline.com",
GrrlPower: "www.grrlpowercomic.com"
};=用于赋值给变量,而不是指定对象中的属性名称。
然后,您需要了解用于访问对象的.和[]表示法之间的区别。.x表示查找字面上名为x的属性,[x]表示使用x的值作为属性名。参见Dynamically access object property using variable。
所以它应该是:
document.getElementById("web").innerHTML = favWebComics[x];发布于 2015-05-15 08:36:06
您的数组结构不正确,一个对象可能更适合:
var favWebComics = {
Goblins : "www.goblinscomic.org",
GirlGenious : "www.girlgeniousonline.com",
GrrlPower : "www.grrlpowercomic.com"
};然后,您应该能够访问您想要的属性
favWebComics.Goblins
favWebComics.GirlGenious
favWebComics.GrrlPower发布于 2015-05-15 08:44:16
从技术上讲,您将数组视为字典。如果您打算这样做,但稍后仍想添加更多信息,则需要在代码中使用括号{}。
var favWebComics = {
Goblins: ["www.goblinscomic.org"],
GirlGenious: ["www.girlgeniousonline.com"],
GrrlPower: ["www.grrlpowercomic.com"]
};同样对于javascript,只要您的搜索键存储了值,就可以使用大括号[]进行调用。下面是工作代码。
document.getElementById("web").innerHTML = favWebComics[x];https://stackoverflow.com/questions/30249645
复制相似问题