Juergen: Beim Laden einer dyn. php seite onclick via jquery setzen

Hallo, sorry erstmal, wusste das Problem im betreff nicht anders zu beschreiben

Habe verschachtelte Registerkarten die ich via php und mysql abfrage individuell zusammenbaue.

in dem jeweiligen Link der Mutter-Registerkarte muß ich einen onclick Aufruf schreiben damit dann eine Tabelle in die aufzurufende Tochter-Registerkarte geladen wird

die Werte die ich jedoch dort in die onclick Anweisung schreiben muss sind beim Aufbau der Mutter-Registerkarte noch nicht bekannt.

Wie kann ich nun in der Schleife in der die Tochterregisterkarte gebaut auf den Link in der Mutterregisterkarte zugreifen?

eine id oder eine class kann ich für die Mutterregisterkarte vergeben... diese kenn ich dann auch beim Zusammenbau der Tochterregsiterkarte

ich könnte also mit $($( ".muttertab_12").....

Kann ich eine jquery-Anweisung in diese Schleife in der die Tochterregisterkarte gebaut wird, einbauen?

Grüße Jürgen

  1. Habe verschachtelte Registerkarten die ich via php und mysql-abfrage individuell zusammenbaue.

    in dem jeweiligen Link der Mutter-Registerkarte muß ich einen onclick Aufruf schreiben damit dann eine Tabelle in die aufzurufende Tochter-Registerkarte geladen wird

    Kann ich eine jquery-Anweisung in diese Schleife in der die Tochterregisterkarte gebaut wird, einbauen?

    Kurz: Ja.

    Mittelkurz: Du kannst mit Javascript eine komplette Seite auf- und umbauen, für dein Problem sollte es also auch eine Lösung geben. Es hört sich zumindest nicht nach etwas Besonderem an.

    Mittellang: Du solltest erstmal klären, wer da wo was zusammenbaut. Ich habe nur verstanden, dass du mit PHP (auf dem Server) die Karten erstellst. Ob nur die Mutter- oder auch die Tochterkarten, ist mir nicht klar, auch nicht, ob die Tochterkarten schon beim Laden der Seite vorhanden sind (und nur ausgeblendet) oder erst auf Klick vom Server geholt werden müssen, denn du schriebst nur etwas von Tabellenwerten, die dir fehlen. Wo die Tabellenwerte nun wieder herkommen, ist mir auch unklar, müssen die zusätzlich zu den Tochterkarten nachgeladen werden? Oder erstellst du die Werte und/oder Karten per Javascript in der Seite selbst, zum Beispiel aus Benutzereingaben?

    Für dich interessant wären vermutlich erstmal Anleitungen, wie man per Javascript auf Seitenelemente und deren Werte und Attribute zugreift, wie auf Ergeignisse (der Klick) reagiert wird und wie man Seitenteile nachlädt (AJAX).

    Lang: Bekommst du wohl erst, wenn du ein nachvollziehbares Beispiel lieferst.

  2. Hallo Jürgen,

    du möchtest also einen Teil der Seite neu laden und in die Seite einbauen?

    in dem jeweiligen Link der Mutter-Registerkarte muß ich einen onclick Aufruf schreiben damit dann eine Tabelle in die aufzurufende Tochter-Registerkarte geladen wird.

    Ja.

    die Werte die ich jedoch dort in die onclick Anweisung schreiben muss sind beim Aufbau der Mutter-Registerkarte noch nicht bekannt.

    Ganz normal, sonst könnte man die Tochter ja gleich mitladen beim Seitenaufbau. Du musst den AJAX-Aufruf (die URL) also erst zusammenstellen und danach abschicken. Ein Beispiel wäre ein Suchbegriff, den der Leser eingibt und der den Inhalt von "mutti" bestimmt.

    Wie kann ich nun in der Schleife in der die Tochterregisterkarte gebaut auf den Link in der Mutterregisterkarte zugreifen?

    Hä? Welche Sprache ist das? Du kannst die zusammengebaute URL global speichern und jederzeit darauf zugreifen. Falls du eine Programmschleife auf dem Server meinst, der kann auch auf sämtliche Parameter zugreifen, mit denen er aufgerufen wurde.

    eine id oder eine class kann ich für die Mutterregisterkarte vergeben... diese kenn ich dann auch beim Zusammenbau der Tochterregsiterkarte

    Ja, auch normal. Wenn der Inhalt der Tochter vom Server kommt, musst du ja wissen, wohin er soll. Da ist

    document.getElementById( "mutti" ).innerHTML = request.responseText;
    

    ein sinnvolles JS-Kommando. Kannst du dir ja nach JQuery übersetzen.

    Kann ich eine jquery-Anweisung in diese Schleife in der die Tochterregisterkarte gebaut wird, einbauen?

    Schon wieder so eine merkwürdige Sprache. Von welcher Schleife schreibst du jetzt? Ich baue dem HTML-Code auf dem Server zusammen und schicke ihn. Der muss dann vom rufenden Programm nur noch in den richtigen Container "mutti" geschoben werden.

    Wenn der nun script-Code enthält, weiss ich nicht, ob der dann ausgeführt wird. Ich vermute ja, denn innerHTML parst die neuen Daten.

    Insgesamt ist deine Fragestellung recht nebulös und ich musste meinen Kaffeesatz bei der Antwort zu Rate ziehen.

    Linuchs

    1. Hallo, das ist leider wohl durch meine irre Beschreibung etwas falsch rüber gekommen.

      Wie ich via Ajax was in die Seite nachladen kann weiß ich. Das funktioniert auch schon alles.

      ich kann hier leider nicht den kompletten Code posten das würde es zu komplex machen da es wohl eine ganz easy Sache sein dürfte.

      Ich will es mal anhand folgenden Beispiel versuchen zu erklären wo mein Problem ist

      Der folgende Code dient NUR als Beispiel... das ist nur ein Code-Schnipsel aus dem Netz was ich etwas ausbaue damit es klarer wird... funktioniert also so nicht!

      so soll es ungefähr mal aussehen

      <div id="tabs">
             (1) dieser folgende Code (im href die onclick) muss durch php oder jquery geändert werden ==> siehe unten
          <li><a href="#fragment-1" id="11111" "hier_soll_die_onclick-Anweisung_nach_laden_on_tabs2_geschrieben_werden><span>One</span></a></li>
          
        </ul>
        <div id="fragment-1"> // 
          1st
          <div id="tabs2">
            <ul>
              while(solange-Datensaetze-vorhanden){
               // diese onclick ist kein Problem und funktioniert auch schon
               // nur muss ich hier in dieser Schleife irgendwie den unter (1) stehenden href verändert... 
               // ab hier ist mir ja erst bekannt das ich eine Tochter-Tab habe und die id des Tochtertabs die ich hier vergebe muss ich irgendwie in die onclick Anweisung unter (1) nachträglich also während er Ausführung dieser Schleife, einbauen.
              //
              <li><a href="#fragment2-1" onclick="lade_via_ajax_tabelle('.$row->typeId.','.$row->typeGroup.',1, 1, 0,0, '.$row->andereTypeId.')"><span>One</span></a></li>
             
             }
            </ul>
            <div id="fragment2-1">
              1st
            </div>
            <div id="fragment2-2">
              2nd
            </div>
          </div>
        </div>
        <div id="fragment-2">
          2nd
        </div>
      </div>
      

      Ich hoffe es wurde ein bisschen klarer

      Sorry

      Grüße Jürgen