我正在使用的选择框有4个顶级选项,每个选项下面都有一个选项列表。所选的选项出现在列表底部,这意味着用户仍然需要向上滚动才能看到子选项。
我的问题是,如何使“已选”选项置于顶部?也就是说,整个选择框都滚动,以便它出现在顶部?
我的问题是,如何使“已选”选项置于顶部?也就是说,整个选择框都滚动,以便它出现在顶部?
试试这个:
$('select option:selected').before($('select option:first'));
如果这是您的意思?
var sel = document.getElementById("yourSelect");
var optsLen = sel.options.length;
var selIndex = sel.selectedIndex;
var size = sel.size;
if (selIndex>=size) {
var newIndex = selIndex+size+1;
if (newIndex>optsLen) {
newIndex = optsLen;
}
sel.selectedIndex = newIndex;
setTimeout(function(){sel.selectedIndex = selIndex},1); //slight delay so line above runs
}
{{链接1:JSFiddle}}