[javascript] variabele variabelen?

Pagina: 1
Acties:

  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
Hallo ik heb net ff in de search gekeken, en volgens mij is er nog niet een probleem van deze aard, (of toch ongeveer wel maar kwam er alsnog niet uit)

ik heb een stapel arays door middel van php gegeneerd dat ziet er ongeveer zo uit:

code:
1
2
3
4
var art_4 = new Array("A0 Bouwtekening op kalk","18.00")
var art_2 = new Array("A1 Bouwtekening","3.60")
var art_5 = new Array("A1 Bouwtekening op kalk","10.00")
var art_40 = new Array("A1 verlengd Bouwtekening","4.50")



Oke dan heb ik een selectbox wat correspondeert met elke array, en als je erop klikt dan moet hij een input-tekst vullen met gegevens uit die array

dat probeer ik met deze functie:

code:
1
2
3
4
5
function fill_new_offerte_form(artikelnummer) {

document.new_offerte_item.omschrijving.value = 'art_'+ artikelnummer;

}


maar wat hij dus nu doet; hij vult het letterlijk met "art_2" bijv

nu heb ik van alles geprobeerd maar ik zie gewoon de manier hoe het moet over het hoofd :?

  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
gebruik eval:
code:
1
eval('art_' + artikelnummer)

[ Voor 36% gewijzigd door DaRace op 24-06-2003 11:06 ]


  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
hey, eval had ik al geprobeerd, raar hoor. maar envengoed bedankt! want het werkt !

alleen één vraag, ook mijn kunde met arrays zijn nog niet voldoende: maar ik krijg nu de complete array in dat veld, hoe geef ik aan welk veld ik alleen wil hebben? als ik dat ook werkend heb zou geweldig zijn :)

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Eval is eigenlijk vies, ik zou met een multidimensionele Array werken:

JavaScript:
1
2
3
4
5
6
7
8
9
artikel = new Array();
artikel[2] = new Array("A1 Bouwtekening","3.60"); 
artikel[4] = new Array("A0 Bouwtekening op kalk","18.00");
artikel[5] = new Array("A1 Bouwtekening op kalk","10.00");
artikel[40] = new Array("A1 verlengd Bouwtekening","4.50");

function fill_new_offerte_form( artikelnummer ) {
   document.forms["new_offerte_item"].elements["omschrijving"].value = artikel[ artikelnummer ][0];
}


Maar kan je laten zien hoe functie wordt aangeroepen? Wellicht kan die functie ook nog beter.

  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
bedoel je dit?

onclick="fill_new_offerte_form(document.new_offerte_item.artikel.value);"

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Als ik jou was zou ik PHP een array met array's laten genereren.

bijv zo:

JavaScript:
1
2
3
4
5
var Artikelen = new Array();
Artikelen['art_4']= new Array("A0 Bouwtekening op kalk","18.00")
Artikelen['art_2'] = new Array("A1 Bouwtekening","3.60")
Artikelen['art_5'] = new Array("A1 Bouwtekening op kalk","10.00")
Artikelen['art_40'] = new Array("A1 verlengd Bouwtekening","4.50")


en dan:

JavaScript:
1
2
3
4
function fill_new_offerte_form(artikelnummer) 
{
document.forms['new_offerte_item'].elements['omschrijving'].value = Artikelen['art_'+ artikelnummer][0];
}


Zo ben je gelijk van die vieze eval() af :)

[ Voor 47% gewijzigd door SchizoDuckie op 24-06-2003 11:14 . Reden: note-to-self: leer sneller tikken ]

Stop uploading passwords to Github!


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
M4RTiN schreef op 24 June 2003 @ 11:07:
alleen één vraag, ook mijn kunde met arrays zijn nog niet voldoende: maar ik krijg nu de complete array in dat veld, hoe geef ik aan welk veld ik alleen wil hebben? als ik dat ook werkend heb zou geweldig zijn :)
Oeps, ik ben nog niet wakker had ik nog niet eens gezien, heb code in bovenstaande reply aangepast zodat het eerste item uit de array gebruikt wordt.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

McVirusS schreef op 24 juni 2003 @ 11:10:
[...]


Oeps, ik ben nog niet wakker had ik nog niet eens gezien, heb code in bovenstaande reply aangepast zodat het eerste item uit de array gebruikt wordt.
Arg!

great minds enzo ;)

Stop uploading passwords to Github!


  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
tnx allemaal, het werkt nu perfect!

Verwijderd

McVirusS schreef op 24 juni 2003 @ 11:08:
Eval is eigenlijk vies, ik zou met een multidimensionele Array werken:
Is niet nodig, globale variabelen zitten automatisch al in een array :)
JavaScript:
1
2
3
4
5
6
7
var art_4 = new Array("A0 Bouwtekening op kalk","18.00")
var art_2 = new Array("A1 Bouwtekening","3.60")
var art_5 = new Array("A1 Bouwtekening op kalk","10.00")
var art_40 = new Array("A1 verlengd Bouwtekening","4.50")

// alerts '3.60'
alert(window['art_2'][1]);

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Verwijderd schreef op 24 juni 2003 @ 12:12:
[...]

Is niet nodig, globale variabelen zitten automatisch al in een array :)
JavaScript:
1
2
3
4
5
6
7
var art_4 = new Array("A0 Bouwtekening op kalk","18.00")
var art_2 = new Array("A1 Bouwtekening","3.60")
var art_5 = new Array("A1 Bouwtekening op kalk","10.00")
var art_40 = new Array("A1 verlengd Bouwtekening","4.50")

// alerts '3.60'
alert(window['art_2'][1]);
Daar had ik ook al aan zitten denken, toch denk ik dat in dit voorbeeld een multidimensionele array mooiere oplossing is :).
Pagina: 1