[英]How do I attach links to individual array items?
I have been working for hours trying to get this to work. 我已经工作了几个小时,试图使它起作用。 What I want to do is to: First, have two drop down menu, first one controlling the second.
我想做的是:首先,有两个下拉菜单,第一个控制第二个。 Then I want to be able to link each individual "second-selection" to a href.
然后,我希望能够将每个“第二选择”链接到href。 However, the "second-selections" are in an array and I do not know how to access them into html.
但是,“第二选择”位于数组中,我不知道如何将其访问到html中。 Please help.
请帮忙。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Any Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var firmwares = [];
firmwares[1] = ["Sacramento","San Diego","San Francisco","Los Angeles"];
firmwares[2] = ["Cleveland","Akron","Canton","Cincinnati","Columbus"];
firmwares[3] = ["Philadelphia","Pittsburgh","Harrisburgh"];
firmwares[4] = [];
function fillSelect(nValue,nList){
nList.options.length = 1;
var curr = firmwares[nValue];
for (each in curr)
{
var nOption = document.createElement('option');
nOption.appendChild(document.createTextNode(curr[each]));
nOption.setAttribute("value",curr[each]);
nList.appendChild(nOption);
}
}
</script>
</head>
<body>
<form method="post" action="">
<div>
<select name='phones' onchange="fillSelect(this.value,this.form['firmwares'])">
<option value="">Select Your State</option>
<option value="1">California</option>
<option value="2">Ohio</option>
<option value="3">Pennsylvania</option>
<option value="4">Alaska</option>
</select>
<select name='firmwares' >
<option value="">Select Your City</option>
</select>
</div>
</form>
</body>
</html>
Try this 尝试这个
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Any Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var firmwares = {};
firmwares[1] = {"Sacramento" : "http://www.abc.com",
"San Diego" : "http://www.abc.com",
"San Francisco" : "http://www.abc.com",
"Los Angeles" : "http://www.abc.com"};
firmwares[2] = {"Cleveland" : "http://www.abc.com",
"Akron" : "http://www.abc.com",
"Canton" : "http://www.abc.com",
"Cincinnati" : "http://www.abc.com",
"Columbus" : "http://www.abc.com"};
firmwares[3] = {"Philadelphia" : "http://www.abc.com",
"Pittsburgh" : "http://www.abc.com",
"Harrisburgh" : "http://www.abc.com"};
firmwares[4] = {};
function fillSelect(nValue,nList){
nList.options.length = 1;
var curr = firmwares[nValue];
for (each in curr)
{
var nOption = document.createElement('option');
nOption.appendChild(document.createTextNode(each));
nOption.setAttribute("value",each);
nList.appendChild(nOption);
}
document.getElementById("gotoCity").style.display = "none";
}
function openCity(firmware, city) {
var gotoCity = document.getElementById("gotoCity");
gotoCity.href = firmwares[firmware][city];
gotoCity.style.display="";
}
</script>
</head>
<body>
<form method="post" action="">
<div>
<select name='phones' onchange="fillSelect(this.value,this.form['firmwares'])">
<option value="">Select Your State</option>
<option value="1">California</option>
<option value="2">Ohio</option>
<option value="3">Pennsylvania</option>
<option value="4">Alaska</option>
</select>
<select name='firmwares' onchange="openCity(this.form['phones'].value, this.value)" >
<option value="">Select Your City</option>
</select>
<a id="gotoCity" href="#" style="display:none;">Go</href>
</div>
</form>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.