Jag har en <select> som jag skulle vilja sortera
Datan som är i selecten är:
2004/1
2004/2
2004/3
2004/10
2004/11
2004/12
2004/20
2004/21
2004/22
år/veckan får jag från mappar som jag hämtar ut med fso och då blir det fel sortering
blir följande:
2004/1
2004/10
2004/11
2004/12
2004/2
2004/20
2004/21
2004/22
2004/3
Jag vill ha det sorterat efter 1,2,3 o.s.v går det att lösa på något sätt ?
Jag kan ju sätta dit en nolla framför de veckor som bara har 1 siffra i koden men det är ju efter hämtningen så det spelar ju ingen roll
Jag föreslår att du använder en nolla. Annars måste du ju sortera listan per tecken och det känns som en sämre metod.
Du kan ju alltid skapa en array med 52 poster och stoppa in veckorna i den med avseende på index. Sedan skapar du <select>-taggen genom att loopa igenom arrayen och plocka ut allt som inte är noll eller null.
Jag föreslår att du använder en nolla. Annars måste du ju sortera listan per tecken och det känns som en sämre metod.
Altså sorteringen sker ju innan det hämtas in av asp sidan...
och det tar för lång tid att bygga om så det blir en nolla på de veckorna som är en siffra...
Jag hade typ tänkt mig en array eller javascript som kunde sortera det men jag vet inte hur man skulle kunna göra...
Det kan vara flera år så det går in att ha ett fast värde på 52
Det är inte svårt att fixa så nollan är med men det är ett par sidor som man måste ändra på plus att jag måste sitta och döpa om massa mappar som redan finns...
mapparna skapas av upload på flera olika sidor...
men hur funkar array.sort ?
för det borde la funka eller ?
Nja, det finns inga specifika metoder på ett vektor-objekt som sorterar den. Du får skriva koden för att göra det själv eller söka i forumet så kommer du garanterat få träffar på det.
RED. I VBScript alltså. :OO ;) Javascript däremot har uppenbarligen sådan funktionalitet. :D
jag är inte jätte bra på detta men borde inte detta funka?
<script language="jscript">
function Sort(){
var a, b, c, d, l;
var coll = sel;
a = new Array;
c = new Array;
d = new Array;
if (coll.length > 0) {
for (i = 1; i < coll.length; i++){
a[i] = coll.options(i).text;
d[i] = coll.options(i).value;
coll.options.remove(i);
}
}
b = a.sort();
for (i=0; i<b.length; i++){
var oOption = document.createElement("OPTION");
oOption.innertext = d[i];
oOption.value = b[i];
coll.options.add(oOption);
}
}
</script>
det som händer är att den tar bort några poster på selecten och lägger till tomma...
någon som vet varför?
jag får inget felmess...