---
title: "Listbox värde = array ----> som arg till funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/41326-listbox-värde-array-som-arg-till-funktion"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "PatrikB"
published: "2002-04-10T20:33:08.000Z"
updated: "2002-04-10T21:46:04.000Z"
replies: 9
views: 343
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/41326-listbox-värde-array-som-arg-till-funktion"
---

# Listbox värde = array ----> som arg till funktion

## #1 — PatrikB, 2002-04-10T20:33Z

Hello,

har en listbox som innehåller en lista med array namn som jag vill "passa" in i en funktion och använda mig av vald array.
frågan är: Går det???

```
<SELECT name="ListBox" onChange="useArray(value);">
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/41326

## #2 — SPiN, 2002-04-10T20:50Z

Jag är inte säker på om JavaScript har en evaluerings-funktion, men jag har för mig det. Annars går det ju att lösa med vanliga, hederliga if-satser eller switch:ar. :)

Testa följande:

```
var arr = eval ( din_array_string );
document.writeln ( "Första värdet: " + arr[ 0 ] );
```

Permalänk: https://www.webforum.nu/p/641095

## #3 — PatrikB, 2002-04-10T20:55Z

nej, det är inte en array lista utan namnet på en array.
Arrayerna finns redan skapade och kan heta:

arr1
arr2
arr3

SEdan i en listbox finns värdena(array namnen) i value fältet:

value="arr1"\>...

osv

När jag sedan väljer en "array" från listan så vill jag kunna använda mig av värdena i den i en funktion

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/641100

## #4 — SPiN, 2002-04-10T21:02Z

Ja, det var så jag menade också. :)

Antingen kan du testa eval () ( Vilket jag inte är säker på om det funkar ) eller använda if-satser. ( Dock omständigt, så en evaluerings-funktion skulle vara rätt bra )

Alternativ 1:

```
function useArray ( myStringArray ) {
     // Deklarera dina arrayer här
     var arrayToUse = eval ( myStringArray );
     document.writeln ( "Värde på position 0 i arrayen " + myStringArray + " är " + arrayToUser[ 0 ] );
}
```

Alternativ 2:

```
function useArray ( myStringArray ) {
     // Deklarera dina arrayer här
     if ( myStringArray == "arr1" )
          var arrayToUse = arr1;
     if ( myStringArray == "arr2" )
          var arrayToUse = arr2;
}
```

Permalänk: https://www.webforum.nu/p/641106

## #5 — SPiN, 2002-04-10T21:34Z

Har kollat runt lite nu, och funktionen eval () existerar ju faktiskt! :)
Då tycker jag att det bort fungera med exempel nr. 1 jag gav dig, om jag inte har förstått det fel ändå, trots allt. :q :)

Du är väl ute efter nåt liknande?

```
...
<script language="JavaScript" type="text/javascript">
function useArray () {
     arr1 = [ "Arr1.Pos1", "Arr1.Pos2", "Arr1.Pos3" ];
     arr2 = [ "Arr2.Pos1", "Arr2.Pos2", "Arr2.Pos3" ];
     arr3 = [ "Arr3.Pos1", "Arr3.Pos2", "Arr3.Pos3" ];

     var strArray = document.form[0].selectLista.value;
     arr = eval ( strArray );

     document.spanUno.innerHTML = arr[ 0 ];
     document.spanDos.innerHTML = arr[ 1 ];
     document.spanTres.innerHTML = arr[ 2 ];
}
</script>
...
<form>
<select id="selectLista" name="selectLista" onchange="useArray (); return true;">
<option value="arr1">Ettan!</option>
<option value="arr2">Tvåan!</option>
<option value="arr3">Trean!</option>
</select>
</form>
<span id="spanUno" name="spanUno"></span><br />
<span id="spanDos" name="spanDos"></span><br />
<span id="spanTres" name="spanTres"></span><br />
...
```

Flummade bara ihop något, förhoppningsvis fungerar det som jag vill. Har inte testat. :)

Permalänk: https://www.webforum.nu/p/641123

## #6 — PatrikB, 2002-04-10T21:39Z

thanx!!

eval funkade perfekt!

Det jag vill åstadkomma är att hämta data från databas med asp och sedan populera en första listbox med kategorier. Beroende på vilket val man gör i denna listbox ska en annan listbox populeras med relaterad data som finns "sparade" i javascript arrayer .... så man slipper att ladda om hela sidan och anropa databasen igen.

Nu funkar det galant

Skickar med en zip-fil med testfiler för den intresserade

cya,
PatrikB

Bilagor:

- [polistbox_asp_js.zip](https://www.webforum.nu/a/55.zip)

Permalänk: https://www.webforum.nu/p/641126

## #7 — SPiN, 2002-04-10T21:41Z

Jag sa ju det. :e ;)

Kul att du fick det att funka! :D

Permalänk: https://www.webforum.nu/p/641129

## #8 — PatrikB, 2002-04-10T21:41Z

ser att du hann posta medans jag skrev mitt inlägg.
var en felstavning på en variabel (js) som gjorde att det inte funkade först med eval

ett stort tack för hjälpen

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/641130

## #9 — PatrikB, 2002-04-10T21:43Z

jepp, kikade på remotescripting först .... men det e lite krångligt och funkar ju endast i IE ..... så bidde bidde en egen halvdan lösning ....

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/641131

## #10 — SPiN, 2002-04-10T21:46Z

Ja, det är bra att hålla sig så att det funkar för oss som inte använder IE också. :)
Även om Remote Scripting ( Eller XMLHTTP som är fantastiskt användbart! ) är något som skulle vara kul att ha med i standarden.

Så länge det funkar, så! :bire

> ett stort tack för hjälpen

Var sin ko! Det är därför jag sitter här! ;)

Permalänk: https://www.webforum.nu/p/641133

---

Tråden på webben: https://www.webforum.nu/amne/javascript/41326-listbox-värde-array-som-arg-till-funktion
