Javascript Klonenen einer Reihe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Javascript Klonenen einer Reihe

    Hallo mieinander,
    wieder mal benötie ich Hilfestellung.

    Ich habe das Problem das ich bei meinem Formular die Möglichkeit haben muss das man mehr als eine Aktivität einträgt.

    Quellcode

    1. <tr class="invisible" id="tr_aktivitaeten">
    2. <td> Aktivitäten</td>
    3. <td>
    4. <table id="aktivitaeten_tabel">
    5. <tr>
    6. <td style="margin-left: 10px;" class="get_this">
    7. <select size="1" name="aktivitaeten">
    8. <option selected="selected" disabled="disabled">Auswählen</option>
    9. <!-- Generieren der Optionen aus DB Einträgen-->
    10. <?php
    11. foreach ($aktivitaet_list AS $aktivitaet){
    12. echo('<option value="'.$aktivitaet['aktivitaet_id'].'">'.$aktivitaet['aktivitaet_name'].'</option>');
    13. }
    14. ?>
    15. <!-- ende des generierens -->
    16. </select>
    17. </td>
    18. </tr>
    19. <tr id="before">
    20. <td >
    21. <input type="button" value="1" onclick="javascript:get_delete_before(this);" />
    22. <input type="button" value="2" onclick="javascript:add_new_row(this);" />
    23. </td>
    24. </tr>
    25. </table>
    26. </td>
    27. </tr>
    Alles anzeigen



    So aus dem heraus will ich über der Reihe mit der ID "before" die reihe mit den aktionslisten generieren.


    Kann mir einer das erklären bzw. mir mal nen code dafür zur verfügung stellen?
    Versuche es jetzt schon 3 ganze Arbeitstage das mit child und arent und clone der knoten zu machen :/
    Aber iwie mach ichs die ganze zeit falsch auch wenn ich es schaffe die Parents anzu sprechen bekomme ich das mit den childNodes nicht hin :(


    danke für eure hilfe ;)
  • Moin!

    TRs Klonen ist ne komische Sache, das weiss jeder der es mal versucht hat. xD

    Mal so zum Ablauf, ich geh jetzt mal davon aus, dass du jQuery benutzt?
    Wenn du in der Funktion drin bist, hast du im Parameter den Button. Ich würde mir nun einfach mit

    Quellcode

    1. var table = $(parameter).parents('#aktivitaeten_tabel');
    die Tabelle holen und dann mit

    Quellcode

    1. var first_row = table.children().first();
    oder

    Quellcode

    1. var first_row = table.children().filter('.get_this');
    die Zeile holen. Dann Klonen und nach der Zeile einfügen:

    Quellcode

    1. first_row.clone().after(first_row);
    .

    Hilft dir das weiter? :)

    Viele Grüße
    Bodo06
  • Leider nein :D

    Das ist in nem langezogenen Projekt.

    Muss das Komplett mit JS machen ohne Jquerry.

    Ich hatte da mal was gesehen was sehr Simel erschien aber dann mir doch nicht geholfen hat.

    Quellcode

    1. function test(it)
    2. {
    3. var ele=it;
    4. parent_number=3;//für tablebody element als var ele
    5. var x=0;
    6. while(x<=parent_number)
    7. {
    8. ele=ele.parentNode;
    9. x++;
    10. }
    11. var chi=ele.childNodes[0];
    12. var clo_ele=chi.cloneNode(true);
    13. //ab hier komme ich nicht weiter. wie funktioniert das jetzt mit dem
    14. //ele.insertBefore(ele.childNodes[ele.childNodes.lenght], clo_ele);
    15. //??
    16. }
    Alles anzeigen


    Also so wollte ich das machen dami ich auch mal das mit dem Klonen verstehe.
    Naja nicht so einfach wie ich dachte :/
    Ich glaube das ganze mi den Childnodes ist auch iwie falsch :(

    Ideen?