plan_B: Auswahllisten verändern - langsam

Beitrag lesen

Hallo,

... weiss zwar immer noch nicht, was du per Ajax nachlädst. Habe aber selbst mal mit deinen Auswahllisten getestet, nur interessehalber - denn eine Auswahlliste mit über 11000 ( elftausend) Optionen - wer soll da was drin finden?

  
<form method="post" name="archiv">  
<table border="0">  
<tr>  
<td colspan=6>  
  
<input type="radio" name="sort" value="alphaab" onchange="chg_sort(this.form,true)"> alphabetisch absteigend  
  
<input type="radio" name="sort" value="alphaauf" onChange="chg_sort(this.form,false)"> alphabetisch aufsteigend</td></tr>  
  
<tr><td>  
  
<select multiple size="20" id="tag" name="tag" >  
<option value="1059"></option>  
<option value="2">-</option>  
<option value="1774">-ausstellung</option>  
....  
  

  
  
function chg_sort(form,revers) {  
  var sels=form.getElementsByTagName("select");  
  for (var i=0;i<sels.length;i++) {  
   alert(i+" "+sels[i].name+" sortieren " );  
   sel_sort(sels[i],revers);  
   }  
}  
  
  
function sel_sort(sel,revers) {  
  
  alert( "select-optionen sortieren: "+sel.name  
    +"\nOptionen: "+sel.options.length  
    +"\n" + ( revers? "descending " : "ascending") );  
  
  
   var arr= []; // all Optionen merken  
   for (var i=0, ie=sel.options.length; i<ie; i++) {  
    arr[i]=new Array(  
      sel.options[i].text,  
      sel.options[i].value,  
      sel.options[i].selected );  
    }  
  
 // Sortierfunktionen  
  
  function by_text(a,b) {  
   return a[0]<b[0] ? -1 : a[0] == b[0] ? 0 : 1 ;  
   }  
  
  function by_text_revers(a,b) {  
   return a[0]<b[0] ? +1 : a[0] == b[0] ? 0 : -1 ;  
   }  
  
  arr.sort(revers ? by_text_revers : by_text );  
  
  sel.options.length=0;   // alle Optionen löschen  
  
  for (var i=0, ie=arr.length; i<ie; i++ ) {  
   sel.add(new Option(  
     arr[i][0],  
     arr[i][1],  
     0,  
     arr[i][2] ));  
   }  
  
  alert( "sort fertig: "+sel.name );  
 }  
  

und mit diesem Verfahren dauert es eben auch einige Minuten ...

übrigens, der Validator hat einige Beanstandungen ...

Gruß plan_B

--
     *®*´¯`·.¸¸.·