2010-05-02 19 views
5

Estoy tratando de usar jquery para clonar una fila de tabla cada vez que alguien presiona el botón agregar fila. ¿Alguien puede decirme qué pasa con mi código? Estoy usando HTML + lenguaje de plantillas inteligente en mi opinión. Este es el aspecto de mi archivo de plantilla como:jquery - clon enésima fila de una tabla?

<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> 

aquí es mi llamada jQuery Javascript, que sé que es despedido cuando pongo en una alerta() comunicado. Entonces, el problema es que no sé cómo funciona el jquery.

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

¿Qué estoy haciendo mal?

+0

Qué fila ¿quieres clonar? – SLaks

Respuesta

6

En primer lugar no hay tal cosa como nth-child(0), nth-child comienza con 1

+0

¿existe también una manera de clonar la fila sin clonar el atributo de valor de cada elemento de entrada? – John

+0

intente simplemente copiando el HTML: '$ ('# entries'). Append ($ ('# entries tr: nth-child (1)'). Html();)' – Mottie

0

ah lo descubrí. nth-child (0) debe ser nth-child (1) si quiero seleccionar la primera fila. Iniciar a partir 1

1

Intente utilizar:

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

ver si eso ayuda ....

Cuestiones relacionadas