我正在尝试为类编写一个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,目前有一些未使用的项目,但我计划很快添加更多。
我的下一个计划是将图像合并到对象中,以便为每个选择选项加载图片。我该如何管理?
答案 0 :(得分:1)
[ ]
用于数组索引的数组。如果您想要命名属性,则应使用一个对象,该对象使用{ }
作为其文字:
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];
答案 1 :(得分:0)
你的数组结构不正确,一个对象更适合:
var favWebComics = {
Goblins : "www.goblinscomic.org",
GirlGenious : "www.girlgeniousonline.com",
GrrlPower : "www.grrlpowercomic.com"
};
然后你应该能够按照你想要的方式访问这些属性
favWebComics.Goblins
favWebComics.GirlGenious
favWebComics.GrrlPower
答案 2 :(得分:0)
从技术上讲,你将数组视为字典。如果您打算这样做但仍希望稍后添加更多信息,则需要在代码上使用括号// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
。
{}
对于javascript,只要您的搜索键值存储,请使用大括号var favWebComics = {
Goblins: ["www.goblinscomic.org"],
GirlGenious: ["www.girlgeniousonline.com"],
GrrlPower: ["www.grrlpowercomic.com"]
};
进行调用。这是下面的工作代码。
[]
答案 3 :(得分:0)
我有你的解决方案,显示:
请检查小提琴。 http://jsfiddle.net/nw8Ln6ha/13/
你的对象是:
var favWebComics = {
Goblins : {url:"www.goblinscomic.org", img:"img1"},
GirlGenious : {url:"www.girlgeniousonline.com", img:"img2"},
GrrlPower : {url:"www.grrlpowercomic.com", img:"img3"}
};
您的显示代码:
document.getElementById("demo").innerHTML = "You selected: "+x+" "+ eval("favWebComics[\""+x+"\"].url")+" "+ eval("favWebComics[\""+x+"\"].img");