【问题标题】:HTML Multiple Drop Down Box Not Linking ProperlyHTML 多个下拉框未正确链接
【发布时间】:2014-03-17 21:38:44
【问题描述】:

我在我的网站中添加了两个下拉框,其中包含指向不同页面的 URL,但是我遇到的问题是,如果我从第一个下拉框中转到一个 URL,请返回该页面,然后选择一个链接从第二个下拉框中,它会自动转到第一个下拉框中选择的任何内容。我想我可以写两个 seraprate 脚本,但我正试图在一个脚本中做到这一点。有输入吗?我是 Java 和 HTML 新手

   <script type="text/javascript">
 function go()
 {
 window.location=document.getElementById("link").value
}
</script>



<form>
<select id="link" onchange="go()">

    <option value="url1">link1</option>

</select>
</form>
<form>
<select id="link" onchange="go()">
  <option value="url2">link2</option>


</select>

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    HTML 属性 id 对于每个元素都是唯一的。如果您有多个带有id=link 的元素并且您调用getElementById('link'),它将只返回第一个,因为它只希望找到一个。

    要在纯 JavaScript 中做您想做的事情(如果我错了,请在 JavaScript 方面做得更好的人纠正我),将 id=link 更改为 class=link 并尝试以下操作:

    dropdowns = document.querySelectorAll('.link');
    for (var i=0; i<dropdowns.length; i++)
        dropdowns.onchange = function(){ window.location.assign(this.value); }
    

    请注意,这可能并不总是有效,因为某些浏览器出于安全考虑会拒绝分配给window.location。此外,如果您遇到问题,不妨考虑使用 jQuery 框架,因为它使这些事情变得相当容易:

    $('.link').change(function(){
         // do something
    });
    

    【讨论】:

    • 但我的脚本只包含“链接”不会自动指向“链接”。我刚试了没用,脚本寻找“链接”
    • 对不起,我被叫走了。扩展我的答案,希望能提供更好的解释
    • 是的。谢谢你。现在,我刚刚将下拉菜单合并到一个框中。
    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多