Avatar billede carsten1973 Nybegynder
25. september 2012 - 16:18 Der er 5 kommentarer

Hvordan laver jeg et dynamisk variabel navn i javascrip

Jeg opdaterer en tabel, hvor hver række viser produkter og dets attributter ud fra en kundes ønske. Disse atrributter variererer fra produkt til produkt. Af tekniske årsager har jeg anvendt.Jeg har fundet ud af, at det her vil være en fordel med dynamiske variabelnavne, som afhænger af rækken i tabellen, hvor rnr er rækkenummer. Jeg vil navende dem til attach og detach metoderne, således, at variablen på række 1 hedder

myvariabel1 = $("#variabel").detach();

på række 2 hedder den
myvariabel2 = $("#variabel").detach();

osv osv. Men da rækkenummeret rnr er ukendt er jeg nødt til at kalde dem noget i retning af myvariabel+rnr=$("#variabel").detach();

eller $('myvariabel'+rnr)=$("#variabel").detach();Men dette virker ikke, så jeg vil gerne vide, om der findes en syntaks for dette.

NB: jeg har prøvet med array, men her virker det kun på de nførste.

Sig endelig til, hvis jeg skal uddybe noget
Avatar billede erikjacobsen Ekspert
25. september 2012 - 16:45 #1
Jeg er ikke helt sikker på jeg har forstået spørgsmålet, men svaret er: Brug arrays.
Avatar billede softspot Forsker
25. september 2012 - 16:48 #2
Hvad er det helt konkret du har forsøgt mht. arrays?

Umiddelbart burde du jo kunne gøre således:

var rnr = 0;

og så for hver række der skal afkobles:

myvar[rnr++] = $("#variabel").detach();


Alternativt kunne du oprette et objekt og deri oprette variable:

var my = {},
      rnr = 0;

og så for hver række der skal afkobles:

my["variabel" + (rnr++)] = $("#variabel").detach();

Derefter kan du aflæse dine variable således:

alert(my.variabel1)
Avatar billede carsten1973 Nybegynder
25. september 2012 - 16:49 #3
Jeg kan sølvfølgelig implementere en løsning, som nedenstående

if (tablerow==1)
variable1='test1'
else if (tablerow==2)
variable2='test1'

osv osv

men det er ikke særlig hensigtsmæssigt - især ikke, hvis tabellen har mange rækker
Avatar billede olebole Juniormester
25. september 2012 - 18:30 #4
<ole>

Det var selvfølgelig en mulighed. En anden var at forholde dig til det, folk svarer på de spørgsmål, du har stillet dem  *o)

/mvh
</bole>
Avatar billede olebole Juniormester
25. september 2012 - 18:32 #5
Jeg tvivler på, der er nogen, som helt forstår, hvori dit problem består, så det ville afgjort være en hjælp at få et link til koden
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



IT-JOB

SKECHERS Retail DK

Data Engineer - BI Specialist

Normann Copenhagen ApS

Product Data Specialist

Cognizant Technology Solutions Denmark ApS

Azure Architect