13. marts 2007 - 15:30
Der er
6 kommentarer og 1 løsning
Gemme 2 dimensionelt array i hiddenfield
Er det muligt at gemme et 2 dimensionelt array i et hiddenfield og efter et postback så få de data tilbage i et 2 dimensionelt array? Hvis ja hvordan?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. marts 2007 - 15:32
#1
Du kan f.eks. emulere et json-objekt i feltet !-)
13. marts 2007 - 15:41
#2
Kan du give et eksempel på det?
13. marts 2007 - 15:56
#3
F.eks. -- du har variablen test, der er et to-dimensionelt array ... var txtTest = "["; for(i=0,im=test.length;im>i;i++){ txtTest += "["; for(j=0,jm=test[i].length;jm>j;j++){ txtTest += test[i][j] + jm-1 > j ? "," : ""; } txtTest += "]" } txtTest += "]"; feltObject.value = txtTest; -- så kan du aflæse objektet direkte med eval: var test; window.onload = function(){ test = eval(document.formNavn.feltNavn.value); }
13. marts 2007 - 20:20
#4
Jeg har prøvet følgende: function test1() { test = new Array(); test[0] = new Array(); test[1] = new Array(); test[2] = new Array(); test[0][0] = "0,0"; test[0][1] = "0,1"; test[1][0] = "1,0"; test[1][1] = "1,1"; test[2][0] = "2,0"; test[2][1] = "2,1"; alert(test); var txtTest = "["; for(i=0,im=test.length;im>i;i++){ txtTest += "["; for(j=0,jm=test[i].length;jm>j;j++){ txtTest += test[i][j] + jm-1 > j ? "," : ""; } txtTest += "]" } txtTest += "]"; alert(txtTest); document.forms[0].<%= test_hdn.ClientID %>.value = txtTest; } Men det output den får lavet er følgende: [[][][]]
14. marts 2007 - 09:29
#5
Fandt ud af det :-) Der er åbenbart et problem med følgende linie : txtTest += test[i][j] + jm-1 > j ? "," : ""; men hvis jeg laver på 2 linier virker det ?-) txtTest += test[i][j]; txtTest += jm-1 > j ? "," : ""; også skulle der også lige være komma i mellem [[],[]] så alt ialt kom jeg frem til følgende: var txtTest = "["; for(i=0,im=test.length;im>i;i++) { txtTest += "["; for(j=0,jm=test[i].length;jm>j;j++) { txtTest += test[i][j]; txtTest += jm-1 > j ? "," : ""; } txtTest += "]"; txtTest += im-1 > i ? "," : ""; } txtTest += "]"; roenving endnu engang mange tak for hjælpen, smid et svar så er der point...
14. marts 2007 - 09:38
#6
Argh, et gammelt problem med den ternære operator: txtTest += test[i][j] + (jm-1 > j ? "," : ""); Velbekomme '-)
14. marts 2007 - 10:04
#7
-- og tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling