Avatar billede dogg Nybegynder
16. november 2003 - 17:52 Der er 10 kommentarer og
1 løsning

Værdier fra select over i array

hej eksperter!!!


Jeg har lidt over 250 værdier i en select (har dem kun i det HTML-dokument, ikke på andre former). Dem skal jeg have over i et javascript-array. Nu er mit problem bare min dovne natur :) Jeg ville høre om der ikke var nogen der havde en idé til hvordan jeg kan få dem over til mit javascript-array, eller måske en database??

På forhånd tak!!


Niels
Avatar billede dogg Nybegynder
16. november 2003 - 17:52 #1
altså uden at taste manuelt :)
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:06 #2
var selArr = new Array();
function selArray(sel)
{
    for (i=0;i<sel.length;i++)
    {
    selArr[i]=sel.options[i].value;
    }
}

og så et eksempel med en form:
<form name="form1">
<select name="sel1">
<option value="value1">Value1</option>
<option value="value2">Value2</option>
<option value="value3">Value3</option>
<option value="value4">Value4</option>
<option value="value5">Value5</option>
<option value="value6">Value6</option>
</select>
<input type="button" value="Select>>Array" onclick="selArray(this.form.sel1);">
</form>
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:07 #3
hvis du vil ha' det over i en database må du over til ASP/PHP
Avatar billede dogg Nybegynder
16. november 2003 - 18:12 #4
det var ikke lige det jeg skulle bruge. Det skal permanent være på array-form, da jeg skal bruge det til et andet script... Ved nærmere eftertanke kan det vidst slet ikke lade sig gøre det jeg gerne vil have.... Jeg undskylder ulejligheden, du får selvfølgelig dine point alligevel, så smid et svar...
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:24 #5
jeg kan godt smide et svar - men hva' med at scriptet printede array'et ud som det skal se ud. Så kan du jo bare copy-and-paste:
var selArr = new Array();
function selArray(sel)
{
    for (i=0;i<sel.length;i++)
    {
    selArr[i]=sel.options[i].value;
    }
    boks = document.getElementById('arrDiv');
    boks.innerHTML = "var selArray = new Array();";
    for (i in selArr)
    {
        boks.innerHTML += "<br />selArr["+i+"] = \""+selArr[i]+"\";";
    }

}

og nede i body:
<div id="arrDiv">
</div>
Avatar billede dogg Nybegynder
16. november 2003 - 18:25 #6
de skal deles op på en bestemt måde. Men ellers mange tak for hjælpen :)
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:29 #7
eller for en lidt kortere udgave:
boks.innerHTML = "var selArray = [";
    for (i in selArr)
    {
        if (i != selArr.length-1) boks.innerHTML += "\""+selArr[i]+"\",";
        else boks.innerHTML += "\""+selArr[i]+"\"";
    }
    boks.innerHTML += "];";
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:30 #8
nåda, havde ikke lige set den sidste kommentar ;-)

Men jeg tror nu gerne du kunne gøre det på den måde, selvom dit array ser anderledes ud.
Avatar billede dogg Nybegynder
16. november 2003 - 18:31 #9
nej for det er alle data i select´en der er skal ind i forskellige arrays
Avatar billede skovenborg Nybegynder
16. november 2003 - 18:40 #10
tjaa, okay! Det må du jo om. Det kan selvfølgelig også blive så kompliceret til sidst at det næsten er lettere at gøre det manuelt - selvom det er bøvet.
Avatar billede dogg Nybegynder
16. november 2003 - 18:41 #11
det er jo det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester