jQuery Clone-Tabellenzeile

Ich habe eine Tabelle mit einer Schaltfläche Hinzufügen am Ende. Wenn Sie auf diese Schaltfläche möchte ich eine neue Zeile in der Tabelle erstellt werden, die unterhalb der aktuellen ein. Ich will auch, dass die Eingabefelder in dieser Zeile leer zu sein. Ich bin versucht, dies zu tun mit .clone () - aber es Klone alle Zeilen auf der Seite. Bitte helfen Sie. Dank

Skript

$("input.tr_clone_add")
        .live('click', function(){
              $(this).closest('.tr_clone')
                    .clone()
                    .insertAfter(".tr_clone")
         });

HTML

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table-data">
<tr>
<td>Name</td>
<td>Location</td>
<td>From</td>
<td>To</td>
<td>Add</td>
</tr>
<tr class="tr_clone">
<td><input type="text" autofocus placeholder="who" name="who" ></td>
<td><input type="text" autofocus placeholder="location" name="location" ></td>
<td><input type="text" placeholder="Start Date" name="datepicker_start" class="datepicker"></td>
<td><input type="text" placeholder="End Date" name="datepicker_end" class="datepicker"></td>
<td><input type="button" name="add" value="Add" class="tr_clone_add"></td>
</tr>
</table><!-- /table#table-data -->
Kommentar zu dem Problem
Ich denke, Sie wollen auch die name - parameter aktualisiert werden, um zu vermeiden, Daten-Konflikte (D. H. die eingegebenen Werte in die neue Zeile überschreiben die Werte des geklonten Zeile)...? Kommentarautor: Tomm
Hallo Tomm, ich glaube nicht, dass name-Werten in Konflikt, ich gehen zu müssen, fügen Sie ein Unterscheidungsmerkmal an einem gewissen Punkt wenn auch vielleicht eine Nummer hinzuzufügen, die auf der tr-Klasse? Kommentarautor: Clinton Green
Normalerweise verwende ich eine "Vorlage" - Klon, der gestaltet ist, um "display: none" via css. Kommentarautor: hafichuk
Ein paar Dinge: (1) die width, border, cellpadding und cellspacing - Attribute sind veraltet, zu Gunsten von CSS-Stilen. Wechseln zu CSS. (2) mit TH statt TD-Elemente für Ihre Tabellenüberschrift Zellen. (3) Sie kann nicht mehr als eine Autofokus-Feld. Kommentarautor: Šime Vidas
@Šime Vidas Dank für die Kommissionierung, bis. Cheers Kommentarautor: Clinton Green

InformationsquelleAutor der Frage Clinton Green | 2011-11-01

Schreibe einen Kommentar