jquery - клон n-й строки таблицы? - PullRequest
5 голосов
/ 02 мая 2010

Я пытаюсь использовать jquery для клонирования строки таблицы каждый раз, когда кто-то нажимает кнопку добавления строки. Может кто-нибудь сказать мне, что не так с моим кодом? Я использую HTML + умный язык шаблонов, на мой взгляд. Вот как выглядит мой файл шаблона:

    <table>
            <tr>
                    <td>Description</td>
                    <td>Unit</td>
                    <td>Qty</td>
                    <td>Total</td>
                    <td></td>
            </tr>
    <tbody id="entries">
    {foreach from=$arrItem item=i name=inv}
            <tr>
                    <td>
                            <input type="hidden" name="invoice_item_id[]" value="{$i.invoice_item_id}"/>
                            <input type="hidden" name="assignment_id[]" value="{$i.assignment_id}" />
                            <input type="text" name="description[]" value="{$i.description}"/>
                    </td>
                    <td><input type="text" class="unit_cost" name="unit_cost[]" value="{$i.unit_cost}"/></td>
                    <td><input type="text" class="qty" name="qty[]" value="{$i.qty}"/></td>
                    <td><input type="text" class="cost" name="cost[]" value="{$i.cost}"/></td>
                    <td><a href="javascript:void(0);" class="delete-invoice-item">delete</a></td>
            </tr>
    {/foreach}
    </tbody>
    <tfoot>
            <tr><td colspan="5"><input type="button" id="add-row" value="add row" /></td></tr>
    </tfoot>
    </table>

Вот мой вызов Jquery Javascript, который, как я знаю, срабатывает, когда я добавляю оператор alert (). Так что проблема в том, что я не знаю, как работает jquery.

$('#add-row').live('click', function() {$('#entries tr:nth-child(0)').clone().appendTo('#entries');});

Так что я делаю не так?

Ответы [ 3 ]

6 голосов
/ 02 мая 2010

Во-первых, нет такой вещи как nth-child(0), nth child начинается с 1

1 голос
/ 02 мая 2010

Попробуйте использовать:

$("tr:nth-child(0)", "#entries")

Посмотрите, поможет ли это ....

0 голосов
/ 02 мая 2010

ах, я понял это. nth-child (0) должен быть nth-child (1), если я хочу выбрать первую строку. Отсчет начинается с 1

...