2012-01-12 13 views
1

私の1テーブル行を正確に24回正確にクローンして "クローン追加"ボタンを追加して追加クローンを作成しようとしています。JQuery Loopクローン

例は、ここで見つけることができます:あなたは.closestを誤解しているhttp://jsfiddle.net/CzZxf/17/

var uniqueIds = $("#math-table tr").length; 
$("#button").click(function(){ 
var $thisRow = $(this).closest("tr"), 
$clone = $thisRow.removeClass().clone(),    // Clone row 
$inputs = $clone.find("input").val("").removeClass(); 
uniqueIds++; //Increment ID 
$inputs[0].id = "A" + uniqueIds; 
$inputs[1].id = "B" + uniqueIds; 
$inputs[2].id = "C" + uniqueIds; 


$thisRow.after($clone);      
}); 
+0

は、あなたがhttp://stackoverflow.com/questions/171027/add-table-row-in-jqueryを見てきました – j08691

答えて

2

、それは.parentsと同様に動作します。

私はここで最後trを見つけるために、トラバースを固定:http://jsfiddle.net/CzZxf/19/

var $thisRow = $("#math-table tr:last-child")

+0

あなたは正しいです。ありがとう!どこに私の一意のIDを付けて24回複製するループコードを追加しますか? – user1040259

+0

@ user1040259 'var l = 24; while(l--){ $( "#button")。trigger( "click"); } 'http://jsfiddle.net/CzZxf/22/ – Esailija

+0

ありがとうございます!今私はあなたがしたことを勉強する必要があります。 – user1040259

1

私はクローンを使用するよりも、テンプレートを使用して好みます。 DEMOここをクリック

addRow関数はテーブルに新しい行を追加します。

var rowTmpl = '<tr>' + 
     '<td><input type="text" id="A{ID}" name="A" value=""></td>' + 
     '<td><input type="text" id="B{ID}" name="B" value=""></td>' + 
     '<td><input type="text" id="C{ID}" name="C" readonly="readonly" tabIndex="-1" value=""></td>' + 
     '</tr>'; 

function addRow() {  
    var rowCount = $('#math-table tbody tr').length; 

    //modify template 
    var addRow = rowTmpl.replace (/{ID}/g, rowCount); 

    //append to the tbody 
    $('#math-table tbody').append(addRow); 
}