2010-08-26 18 views
5

Tabloya bir satır eklemeye çalışıyorum. Mevcut bir satırı çoğaltmak için klon() yöntemini kullanabileceğimizi buldum. Masamın iki farklı <tr> öğesinde iki metin girişi var. Son satırı klonlamak da istemediğim metin girdilerimde değerleri çoğaltıyor mu? Değerleri çoğaltmaksızın satırı nasıl kopyalayabilirim?Tablodaki bir satırı, içindeki giriş öğelerinin değerlerini klonlamadan nasıl kopyalayabilirim?

$("#table-1 tr:last").clone(); 
+0

yinelenen [Kopyayu benzersiz bir değerle kopyala] (http://stackoverflow.com/questions/3503279/using-append-to-copy-table-row-would-like-to-create-unique-ids/6455421# 6455421) –

cevap

24

bu deneyin: .val() set klon

  • yılında

    var clone = $("#table-1 tr:last").clone().find('input').val('').end(); 
    
    • .clone() son <tr>
    • .find()<input> elemanları Burada

      Ben bugüne kadar ne var öğelerinin '',
    • numaralarına .end() numaralı telefondan bağlanarak, <tr> klonlanan öğeleri <input> öğeleri yerine değişkende depolanır.

    Derhal tabloya eklemeyi düşünüyorsanız, sonuna .insertAfter("#table-1 tr:last") ekleyin.

    Sen giriş alanlarının değerlerini boş olarak ayarlanmış için verilen satırdan sonra bu satırı ekleyebilirsiniz
  • +0

    :(tam olarak burada cevapladım: http://stackoverflow.com/questions/3576948/add-row-to-a-table-with-jquery-but-dont-need-its-value/3577015 # 3577015 –

    +0

    @Yanick - Bu soru, bu sorunun bir kopyasıydı: Bu soru (ve cevap) önce geldi, bu yüzden diğeri kapatıldı. – user113716

    1

    var clone = $("#table-1 tr:last").clone().find('input').val('').end().insertAfter("#table-1 tr:last"); 
    
    :

    $('#table-1 tr:last input').attr('value',''); 
    

    ya da sadece: cevap Üstü Verilen Mükemmel

    $('#table-1 tr:last input').val(''); 
    
    1

    olduğunu Ancak yaratılan satırların eksik olması durumunda, bir önceki yaratılan satırların yarattığı olayların olmaması. Böylece, aynı satırları aynı olaylarla klonlamak için, özelliği true olarak ayarlamamız gerekir.

    var newRow = $("#table-of-items  tr:last").clone(true).find(':input').val('').end(); 
    
        $("#table-of-items").append(newRow); 
    

    Not İçindekiler tablosu kalemleri tablonun adıdır ...... buraya bakın.

    İlgili konular