如何将选择框滚动到特定点(使用javascript或jQuery)?

我想让选中的选项出现在下拉列表的中间.当我第一次加载页面时,它会显示在下拉列表的底部,但是如果我滚动它并退出它会记住当我再次打开它时.我希望它显示在中间.

起初我以为我可以使用javascript选择一个我想要的选项,然后将其设置回正确的选项.我玩过scrollTop和scrollTo,但似乎没有一个能给我我需要的东西.我一直在Chrome中测试它,但它也需要在Firefox和IE中工作.有任何想法吗?

编辑:我尝试了scrollTo插件但它似乎不适用于下拉菜单.看看这些代码片段

来自HTML:

<select id="test">
    <option>1</option>
    <option>2</option>
    // ........
    <option selected="selected">21</option>
    <option>22</option>
    // ........
    <option>40</option>
</select>

来自Javascript:

$(function() {
    alert( $('#test option:selected').next().text() ); // alerts 22
    $().scrollTo('#test'); // scrolls the screen to the drop-down
    $('#test').scrollTo( $('#test option:selected').next() ); //does nothing
});

解决方法

使用这个jQuery插件http://plugins.jquery.com/project/ScrollTo

> Documentation
> Demo 1Demo 2

编辑 – 最终解决方案由于下拉列表处理能力较强且无法很好地操作,因此您必须自己重新创建下拉列表的行为.查看注释以获取更多信息.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...