tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Tim Bureck
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
175
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    KireSchattenhaar KireSchattenhaar ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    20
    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
    Geändert von KireSchattenhaar (26.09.11 um 12:08 Uhr)
     

  2. #2
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    Registriert seit
    Apr 2009
    Ort
    Düsseldorf (NRW)
    Beiträge
    508
    Hi und herzlich Willkommen bei tutorials.de,

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    var global;
     
    function aendern()
    {
      global = 2;
    }
     
    function zeigen()
    {
       alert(global);
    }

    Best regards
     

  3. #3
    KireSchattenhaar KireSchattenhaar ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    20
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     $(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?
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    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.
     

  5. #5
    KireSchattenhaar KireSchattenhaar ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    20
    Hm, ich hoffe ich habe dich richtig verstanden, du meinst so:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     
       $(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?
     

  6. #6
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    Registriert seit
    Apr 2009
    Ort
    Düsseldorf (NRW)
    Beiträge
    508
    Jo, hast du. Richtig wäre es in den Funktionen var komplett weg zu lassen:

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    $(document).ready(function(){
      var global = 2; 
                                
      $("#b1").click(function(){
        global ="1";
        alert (global)
      });
      $("#b2").click(function(){
        alert (global)
      });
    });
    KireSchattenhaar bedankt sich. 

  7. #7
    KireSchattenhaar KireSchattenhaar ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    20
    Jawohl, so läufts, ich danke dir Tim.
     

Ähnliche Themen

  1. Variablen Problem
    Von dacuba im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 29.04.07, 19:37
  2. Variablen Problem
    Von green_phanta im Forum Flash Plattform
    Antworten: 9
    Letzter Beitrag: 03.02.07, 11:16
  3. problem mit Variablen Variablen
    Von Gray im Forum PHP
    Antworten: 3
    Letzter Beitrag: 02.08.05, 09:05
  4. Problem mit Variablen?
    Von SilverVegeto im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 17.07.05, 11:15
  5. Problem mit variablen
    Von Flame im Forum PHP
    Antworten: 4
    Letzter Beitrag: 10.11.03, 20:05