我正在使用的選擇框有4個頂級選項,每個選項都帶有下方的選項列表。所選的一個出現在列表的底部,這意味着用戶仍然需要向上滾動才能看到子選項。使選擇框中的選定選項始終顯示在頂部
我的問題是,我怎樣才能使'選擇'選項在頂部?即,使整個選擇框滾動,以便它出現在頂部?
我正在使用的選擇框有4個頂級選項,每個選項都帶有下方的選項列表。所選的一個出現在列表的底部,這意味着用戶仍然需要向上滾動才能看到子選項。使選擇框中的選定選項始終顯示在頂部
我的問題是,我怎樣才能使'選擇'選項在頂部?即,使整個選擇框滾動,以便它出現在頂部?
試試這個:
$('select option:selected').before($('select option:first'));
如果這是你的意思?
海報不想移動實際選定的選項,只是希望滾動不同。這將搞砸OP的訂單。 – epascarello
「我的問題是,我怎樣才能讓」選定「選項位於最上方?即,讓整個選擇框滾動以便它出現在頂部?」這是一個模棱兩可的問題。 –
你可以做的是找到選定的索引,在結尾選擇一個選項並重新選擇所選項目,該項目將出現在列表頂部。這是hacky,但工程。這也只適用於單選,如果是多選,則必須重新選擇所有選項。
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
}
http://stackoverflow.com/questions/1280499/jquery-set-select-index這http://stackoverflow.com/questions/7445492/how使用jquery – riti
我認爲這是依賴於瀏覽器,即瀏覽器決定在哪個滾動級別顯示選擇框下拉 – redShadow
這是一個選擇元素與多個設置爲true? – epascarello