我有一个<select>
可用的工作除以城市,如下所示:
<select id="jobs">
<option value="columbus">Columbus, OH: Material Handler</option>
<option value="columbus">Columbus, OH: Fulfillment Center Worker</option>
<option value="baltimore">Baltimore, MD: Material Handler</option>
</select>
我正在拉这个值:
var jobName = document.getElementById("jobs").value;
返回结果就好了。对于我得到的第一个选项:
columbus
这很好,现在我的问题是,如何使用它来调用另一个变量,例如:
var columbus = ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore = ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm'],
currentCity = columbus[0]
console.log(currentCity);
控制台将返回:
Columbus
但是,如何使用jobName
动态更新currentCity,如:
currentCity = jobName[0]
答案 0 :(得分:2)
您应该使用一个对象来保存所有城市信息,而不是拥有不同的变量,如下所示:
var cities = {
colombus: ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore: ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm']
};
然后你可以写
var currentCity = cities[jobName][0];
答案 1 :(得分:2)
您似乎想要根据密钥“查找”值。通常,这是使用所谓的“字典”来完成的 - 或者更正式地说,是“associate array”(有时也称为“hash table” - 尽管哈希表只是一个字典类型。
JavaScript类似于您可以使用的名为 objects 的东西。它们使用花括号{}
编写,键与冒号:
的值分隔开来。键是字符串,但引号通常是可选的。价值观可以是你想要的任何东西。
var cities = {
columbus: ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore: ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm']
};
获得密钥(示例中为jobName
)后,您只需使用cities
对象查找所需内容即可。
var jobInfo = cities[jobName],
currentCity = jobInfo[0];
console.log(currentCity);
旁注:JavaScript对象并不是真正完整的词典。在大多数其他语言中,词典实际上可以为键使用许多不同类型的值(例如,整数),但在JavaScript中,键通常只能是一个字符串。