Fügen Sie mehrere Zeilen der Tabelle dynamisch in Javascript

Ich möchte in der Lage sein, um hinzuzufügen, wie viele Zeilen, wie ich eine Tabelle so, dass es dynamisch wächst und schrumpft. (Jetzt bin ich nur die Konzentration auf ihm wächst) Dieser code funktioniert Super, wenn ich wollen, um eine Zeile hinzuzufügen, um den unteren Rand der Tabelle, aber wenn ich will, um eine Zeile hinzuzufügen, in der Mitte der Tabelle, es ist etwas in meinem code nicht richtig ist, (und ich bekomme eine Fehlermeldung).

zB.

Titel | Titel | Titel |
1....| 1.... | 1.... | addBtn

wenige Minuten später

Titel | Titel | Titel |
1....| 1....| 1....| addBtn
2....| 2....| 2....| addBtn <- ich auf diese
3....| 3....| 3....| addBtn
4....| 4....| 4....| addBtn

immer...

Titel | Titel | Titel |
1....| 1....| 1....| addBtn
2....| 2....| 2....| addBtn <- ich klickte auf dieser
3....| 3....| 3....| addBtn <- er erstellt diese Zeile
4....| 4....| 4....| addBtn <- diese Zeile genutzt, um im Platz 3
5....| 5....| 5....| addBtn <- diese Zeile genutzt, um im Platz 4

Ich bin neu hier, aber ich habe einen Tag versuchen, damit es funktioniert; auch die clone-Funktion, die scheint nicht zu funktionieren für mich. Ich habe auch nie geklappt mit input-arrays, so ist dies nicht richtig, dann, was würden Sie empfehlen?

<script>
function displayResult(j)
{
    if (j <= document.getElementById("purchaseItems").rows.length) {
        for (var i= document.getElementById("purchaseItems").rows.length; i>j ;i--) {
            var elName = "addRow[" + i + "]";
            var newName = "addRow[" + (i+1) + "]";
            var newClick = "displayResult(" + (i+1) + ")";
            var modEl = document.getElementsByName(elName);

            modEl.setAttribute("onclick", newClick);
            document.getElementsByName("addRow[" + i + "]").setAttribute('name', "addRow[" + (i+1) + "]");
        }
    }
    var table=document.getElementById("purchaseItems");
    var row=table.insertRow(j);
    var cell1=row.insertCell(0);
    var cell2=row.insertCell(1);
    var cell3=row.insertCell(2);
    var cell4=row.insertCell(3);
    var cell5=row.insertCell(4);
    cell1.innerHTML="<input type=text class='tbDescription' name='description[]' required/>";
    cell2.innerHTML="<input type=text name='itemPrice[]' required />";
    cell3.innerHTML="<input type=text name='itemquantity[]' required />";
    cell4.innerHTML="<input type='text' name='lineTotal[]' readonly />";
    cell5.innerHTML="<input type='button' name='addRow["+ j + "]' class='add' onclick=\"displayResult(" + (j+1) + ")\" value='+' />";
}

Hier ist der HTML -

<table id= "purchaseItems" name="purchaseItems" align="center">
<tr>
    <th>Description</th>
    <th>price</th>
    <th>quantity</th>
    <th>Line Total</th>
    <td>&nbsp;</td>
</tr>
<tr>
    <td><input type="text" name="description[]" class="tbDescription" required /></td>
    <td><input type="text" name="price[]" required /></td>
    <td><input type="text" name="quantity[]" required /></td>
    <td><input type="text" name="lineTotal[]" readonly /></td>
    <td><input type="button" name="addRow[1]" onclick="displayResult(2)" class="add" value='+' /></td>
</tr>

InformationsquelleAutor user2626643 | 2013-07-29

Schreibe einen Kommentar