简体   繁体   English

如何将链接附加到单个数组项目?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM