Problem mit Variablen

[ERLEDIGT] Problem mit Variablen

Hallo, ich habe derzeitig ein Problem damit, Variablen global anzulegen, aber diese auch aus Funktionen heraus zu manipulieren.

Beispiel: Ich habe die Variable v_test mit "Peter" (global) belegt. In einer Funktion auf einen Button will ich diese Variable per alert ausgeben. Klappt auch.
WENN ich jetzt aber in einer Funktion diese Variable nun abändern möchte, sagen wir in "Klaus" und dann die vorherige Funktion (lediglich Ausgabe von v_test via Alert) aufrufe, hat sich nichts geändert.

Wie kann ich denn globale Variablen auch aus Funktionen heraus editieren?

Grüße,

Kire
 
Zuletzt bearbeitet:
Hi und herzlich Willkommen bei tutorials.de,

Javascript:
var global;

function aendern()
{
  global = 2;
}

function zeigen()
{
   alert(global);
}

Best regards
 
Hm, so hab ich das auch probiert, aber das klappt nicht. Wenn ich das Event als Mausklick beispielsweise auslöse, dann zeigt er mir, wenn ich die "zeigen" aktion ausführe nur ein Fenster mit (undifined an), nachdem ich die aendernfunktion ausgeführt habe.

Beispiel:
Code:
 $(document).ready(function(){
              var global; 
                            
                $("#b1").click(function(){
                    var global =1;
                    });
         	    $("#b2").click(function(){
                    alert (global)
                    });
           	   });

Wenn ich der Variable gleich am Anfang einen Wert zuweise, dann zeigt er ihn mir zwar, aber ich kann ihn nicht dauerhaft ändern. Für "global"-Variable wird also immer der anfangs zugewiesene Wert ausgegeben.

Wie bekomm ichs also hin, dass die Variable per Buttonklick einfach "überschrieben" wird?
 
Wenn du nochmal "var" davor schreibst, deklarierst du innerhalb der Funktion eine neue Variable namens "global", die die äußere verdeckt. In Tim Burecks Code steht dort kein "var" davor.
 
Hm, ich hoffe ich habe dich richtig verstanden, du meinst so:

Code:
   $(document).ready(function(){
              var global = 2; 
                            
                $("#b1").click(function(){
                    var var global ="1";
                    alert (global)
                    });
         	    $("#b2").click(function(){
                    alert (global)
                    });
           	   });

Das Problem ist, dass jetzt gar nichts mehr passiert, ich schätze mal, ich hab da was falsch gemacht?
 
Jo, hast du. :) Richtig wäre es in den Funktionen var komplett weg zu lassen:

Javascript:
$(document).ready(function(){
  var global = 2; 
                            
  $("#b1").click(function(){
    global ="1";
    alert (global)
  });
  $("#b2").click(function(){
    alert (global)
  });
});
 

Neue Beiträge

Zurück