2010-05-13 166 views
0

我想用选项标签来锚定一个div,但它不起作用,我的代码出了什么问题?这里的锚点片段如何在HTML中使用<option>标签进行定位?

<select> 
     <option value="#b1">1 test</option> 
</select> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<div id="b1">Testing!</div> 
+0

当你在选择列表中选择一个opton时,你是否想让浏览器向下滚动到与相关ID相对应的div? – 2010-05-13 13:20:18

+0

是的,我试过价值,因为id不会工作,选项不允许子元素 – blub 2010-05-13 13:21:30

回答

1

您需要添加一个onchange处理程序到select元素。

function scrollTo(elmt) {(elmt.options [elmt.selectedIndex] .value).scrollTo(); //随着原型 }

要你选择,添加的onchange = scrollTo()

+0

这将与选项值和div ID工作? – blub 2010-05-13 13:31:33

+0

是的,它应该。我假设你使用Javascript ....或者你想要一个纯粹的HTML解决方案吗? – sonofdelphi 2010-05-13 13:38:52

+0

如果代码在ie6上运行,Javascript也可以。 关于代码,我刚刚尝试过使用该功能,但它没有工作,虐待我尝试作为答案的代码。你忽略 – blub 2010-05-13 13:43:21

4
+0

感谢您的链接,但我无法找到相同的页面(而不是当当链接到其他网页) – blub 2010-05-13 13:58:46

+0

一个的ID的任何实例网址是一个网址。新版本是否在同一页面上并不重要。 – Quentin 2010-05-13 14:07:35

2

(尤其是你应该如何他们是可怕的,使用普通组链接,而不是部分)尝试是这样的:

FIDDLE

<select onchange="location = this.options[this.selectedIndex].value;"> 
    <option value="#b1">1 test</option> 
    <option value="#b2">2 test</option> 
    <option value="#b3">3 test</option> 
</select> 

<div id="b1">Testing 1</div> 
... 
<div id="b2">Testing 2</div> 
... 
<div id="b3">Testing 3</div> 
... 
+1

一个简单的方法,不使用任何Javascript,完美。 – 2015-07-13 13:09:49

+0

但是如果你想忽略第一个选项呢? – worked 2016-04-13 13:06:41