Går det att sortera en selectlista utan att lägga värderna i en array?
Sortera select?
3 svar · 186 visningar · startad av Jesper T
Kanske... men varför? Ofta vill du väl kanske ha med både text och value och då passar en array med objekt alldeles utmärkt.
Hur gör man en sådan?
<script language="JavaScript" type="text/javascript">
function compare(a,b){
return a.text<b.text?-1:a.text>b.text?1:0;
}
function sortlist(obj){
var a=new Array(obj.length);
for(var n=0;n<obj.length;n++){ a[n]=new Option(obj.options[n].text,obj.options[n].value); }
a.sort(compare);
for(var n=0;n<a.length;n++){ obj.options[n]=a[n]; }
}
</script>
<form>
<select name="foo">
<option>a</option>
<option>c</option>
<option>b</option>
</select>
<input type="button" value="Sortera" onClick="sortlist(this.form.foo)">
</form>