HTML多个下拉框未正确链接

时间:2014-03-17 21:38:44

标签: javascript html

我在我的网站上添加了两个下拉框,其中包含指向不同页面的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>

1 个答案:

答案 0 :(得分: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
});
相关问题