+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Variable zusammenbauen - verzweifle bald

  1. #1
    TP-Senior Mondmann macht alles soweit korrekt
    Registriert seit
    Aug 2004
    Beiträge
    165

    Variable zusammenbauen - verzweifle bald

    Hallo, ich mache jetzt schon seit Stunden dran herum und ich weiß nicht mehr weiter.

    Hier erstmal etwas Code:
    function CloseAllCommentBoxes()
    {


    for(var i=0;i<=99;i++)
    {
    flyCommentFeldPosImbBtnEdit+i.Close();


    }
    }
    Also flyCommentFeldPosImbBtnEdit ist eine mit Javascript erstellte Messagebox, welche die Funktion Close() enthält.
    Deren Messageboxen sind 99 an der Zahl.


    Ich schließe die Messagebox also mit der direkten Angabe von flyCommentFeldPosImbBtnEdit1.Close();
    flyCommentFeldPosImbBtnEdit2.Close();
    ...
    flyCommentFeldPosImbBtnEdit99.Close();

    Wird die entsprechende Box geschlossen...funktioniert!

    Jetzt möchte ich aber das nicht 99 Mal in die Funktion schreiben, sondern so wie oben gezeigt machen, also mit der for -Schleife.
    Das Problem ist hierbei, daß die Zusammensetzung von flyCommentFeldPosImbBtnEdit+i nicht erkannt wird.
    Meldung:

    flyCommentFeldPosImbBtnEdit is not defined

    Ist ja auch klar, denn das gibt es nicht, sondern nur mit der Zahl hintendran.

    Wie kann ich es anstellen, daß der Variablenname zusammengesetzt wird mit dem i und dann richtig erkannt wird???

    Vielen Dank

    Edit: Also wenn ich das zusammengesetze mit alert() ausgebe, dann zeigt es das richtig an...
    Geändert von Mondmann (30.06.2010 um 16:27 Uhr)
    ______________________________

  2. #2
    TP-Moderator Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.608
    Ich weiß jetzt nicht, wie sicher das ist oder ob es Probleme gibt, aber hier habe ich folgende Lösung gefunden:
    Code:
    eval("flyCommentFeldPosImbBtnEdit" + i + ".Close()");
    Sollte funktionieren, aber wie gesagt, warte mal lieber was die Profis dazu sagen
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  3. #3
    TP-Senior Mondmann macht alles soweit korrekt
    Registriert seit
    Aug 2004
    Beiträge
    165
    Hallo und vielen Dank!
    Es geht jetzt so halbwegs, denn das Problem(chen) ist, daß von den 99 Boxen nicht alle existieren. Also muss ich erst mal prüfen, welches existiert und dann die Close() Funktion ausführen.
    Das habe ich mal so versucht:
    Code:
    	    for(var i=0;i<=90;i++)
    	    {	
    	    if(typeof (eval("flyCommentFeldPosImbBtnEdit" + i)) != 'undefined') 
    	    {
    	    eval("flyCommentFeldPosImbBtnEdit" + i + ".Close()");
    	    }     
    	      
    	    }
    Also flyCommentFeldPosImbBtnEdit0 existiert definitiv in diesem Falle nicht.
    Bei der Prüfung kommt aber trotzdem die Meldung:

    flyCommentFeldPosImbBtnEdit0 is not defined
    Ist ja auch so weit richtig, aber ich prüfe ja erst ob es diese Box gibt, also sollte diese Meldung nicht kommen oder was mache ich da noch falsch?

    Vielen Dank, Mondmann

    EDIT: Also ich habe schon verschiedene Wege versucht um die Box zu testen ob Sie existent ist.
    Selbst wenn sie definitiv nicht existiert, wid immer angezeigt, daß Sie doch existiert und dann schlägt der Close() Befehl natürlich fehl. Ansonsten klappt es so mit dem Schließen.

    EDIT2:

    Ich habe nun einen Weg gefunden und so gehts auch:
    Code:
      for(var i=0;i<=99;i++)
    	    {	
    	    try{
    	     eval("flyCommentFeldPosImbBtnEdit" + i + ".Close()");
    	    }catch(e)
    	    {
    	    }
    	    }
    Ich weiß jetzt nicht wie "sauber" diese Lösung ist, aber so funktioniert es jetzt wenigstens mal.

    Anmerkungen und/oder Verbesserungen nehme ich trotzdem sehr gerne entgegen.
    Danke Mondmann
    Geändert von Mondmann (01.07.2010 um 08:44 Uhr)
    ______________________________

+ Antworten

Ähnliche Themen

  1. Bewertungssystem: Ich verzweifle.....
    Von Schakal81 im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 25.06.2007, 16:48
  2. PC Zusammenbauen --> Wie Abschreiben?
    Von x49 im Forum Recht & Co
    Antworten: 2
    Letzter Beitrag: 08.04.2006, 10:51
  3. pfad zusammenbauen
    Von alexf812 im Forum Traum-Dynamik
    Antworten: 6
    Letzter Beitrag: 14.09.2005, 22:11
  4. Computer aus Einzelteilen zusammenbauen
    Von Driver im Forum Hardware
    Antworten: 19
    Letzter Beitrag: 18.04.2005, 13:34
  5. Computer selber zusammenbauen
    Von NicNac im Forum Einfach so ...
    Antworten: 7
    Letzter Beitrag: 05.01.2003, 23:15

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51