gpt4 book ai didi

javascript - 对页面上的每个选择进行排序时忽略第一个选项

转载 作者:行者123 更新时间:2023-11-28 09:03:50 25 4
gpt4 key购买 nike

我试图对页面上的每个选择进行排序,而不对第一个选项进行排序。我尝试更改几个值,但最终只对其中一个值进行排序。这现在可以工作,但不会忽略每个选择的第一个选项:

HTML:

<select name="numero_uno" id="numero_uno">
<option>Select</option>
<option>Mops</option>
<option>Brooms</option>
<option>X-wings</option>
</select>

<select name="number_two" id="number_two">
<option>Select</option>
<option>Cabbage</option>
<option>Alfalfa</option>
<option>Beets</option>
</select>

Javascript:

function sortSelect(e){
var oA,i,o;oA=[];
for(i=0;i<e.options.length;i++){
o=e.options[i];
oA[i]=new Option(o.text,o.value,o.defaultSelected,o.selected);
}
oA.sort(function(a,b){
var la=a.text.toLowerCase(),lb=b.text.toLowerCase();
if(la>lb){
return 1;
}
if(la<lb ){
return-1;
}
return 0;
});
e.options.length=0;
for(i=0;i<oA.length;i++){
e.options[i]=oA[i];oA[i]=null;
}
return true;
}
var eA=document.getElementsByTagName('select');
for(var i=0;i<eA.length;i++){
sortSelect(eA[i]);
}

我见过一些使用 jQuery 的解决方案,但我想只用 javascript 来实现。

jsfiddle:http://jsfiddle.net/cfX8E/

最佳答案

你不能将循环更改为从第二个选项开始吗?

function sortSelect(e){
var oA,i,o;oA=[];
for(i=1;i<e.options.length;i++){
o=e.options[i];
oA[i-1]=new Option(o.text,o.value,o.defaultSelected,o.selected);
}
oA.sort(function(a,b){
var la=a.text.toLowerCase(),lb=b.text.toLowerCase();
if(la>lb){
return 1;
}
if(la<lb ){
return-1;
}
return 0;
});
e.options.length=1;
for(i=0;i<oA.length;i++){
e.options[i+1]=oA[i];oA[i]=null;
}
return true;
}
var eA=document.getElementsByTagName('select');
for(var i=0;i<eA.length;i++){
sortSelect(eA[i]);
}

关于javascript - 对页面上的每个选择进行排序时忽略第一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com