08. november 2014 - 17:26
Der er
8 kommentarer og 1 løsning
Hjælp til at sætte variabel
Jeg har lavet et script der virker som det skal, på nær en ting. Jeg prøver at sætte en variabel i en if-sætning men den er bare tom. Det er linjen: var Opg1Svar = 100; Hvis jeg flytter den ud af if-sætningen virker den.. Hvad gør jeg forkert? if($.OpgTaeller == 1) { $("div#block_regnestykke_start").hide(); $("div#block_regnestykke_vis").show(); block_nr1_knap.src = '_pic/knap_opg-nr_1_groen.png'; block_nr2_knap.src = '_pic/knap_opg-nr_2_graa.png'; block_nr3_knap.src = '_pic/knap_opg-nr_3_graa.png' block_nr4_knap.src = '_pic/knap_opg-nr_4_graa.png'; block_nr5_knap.src = '_pic/knap_opg-nr_5_graa.png'; $("#vis_tal1").text(Opg1Tal1); $("#vis_tal2").text(Opg1Tal2); $("#vis_svar").val(Opg1Facit); //var Opg1Svar = document.getElementById('vis_svar').value; var Opg1Svar = 100; }
Annonceindlæg fra Deloitte
08. november 2014 - 17:36
#1
Enten bliver den if-sætning ikke udført (er du helt sikker på det?), eller også er noget andet galt end vi kan se her. Prøv evt. at lave en alert("test") lige før du sætter variablen, bare for at se om det bliver udført.
08. november 2014 - 18:13
#2
alert("test") kører, så if sætningen virket. Hvis jeg flytter "var Opg1Svar = 100;" udenfor if, sætter den variablen som den skal :-/ Kan det skyldes at jeg kombinere jQuery og javascript kommandoer?
08. november 2014 - 18:21
#3
Nej, det kan det ikke. if($.OpgTaeller == 1) { alert("if bliver kørt"); var Opg1Svar = 100; } alert(Opg1Svar); - Hvis ovenstående kører første alert men ikke viser 100 i nummer to, så er der altså noget helt galt. Det skal virke.
08. november 2014 - 19:08
#4
Scoperegler: var Opg1Svar; if($.OpgTaeller == 1) { alert("if bliver kørt"); Opg1Svar = 100; } alert(Opg1Svar);
08. november 2014 - 19:12
#5
Jeg mente vel egentlig: var Opg1Svar=0; if($.OpgTaeller == 1) { alert("if bliver kørt"); Opg1Svar = 100; } alert(Opg1Svar); således at Opg1Svar er defineret og har en værdi, selv om man ikke kommer ind i if-en. Man ellers kan man naturligvis teste for undefined. (og min "scoperegler" bemærkning ville give god mening hvis det skete i en funktion)
08. november 2014 - 20:32
#6
Ahh..*** Jeg har min if-sætning til at ligge i en function, og det er når jeg prøver at hente variablen udenfor functionen at den jo er tom. Hvordan hiver jeg en variabel ud af en function? function NextOpg() { if($.OpgTaeller == 1) { //var Opg1Svar = document.getElementById('vis_svar').value; var Opg1Svar = 101; } } <input type="image" id="TestKnap" src="_pic/test.png" onclick="NextOpg('');" / >
08. november 2014 - 23:37
#7
Yes, fik det til at virke :-) Vil I begge oprette et svar.
09. november 2014 - 00:12
#8
Og det du fandt ud af, var at smide var Opg1Svar; udenfor funktionen, evt med noget i retning af var Opg1Svar=0; Og så fjerne "var" inde i funktionen. Jeg samler slet ikke på point, tak.
01. december 2014 - 21:17
#9
Lukker Tusind tak for hjælpen :-)
Vi tilbyder markedets bedste kurser inden for webudvikling