Reputation: 1075
i want to dynamically create 5 tr each having 3 tds with a loop, note: inside each i am filling dynamic html which has dynamic values that are filled from an array
<tr>
<td><td><td>
</tr>
<tr>
<td><td><td>
</tr>
<tr>
<td><td><td>
</tr>
<tr>
<td><td><td>
</tr>
<tr>
<td><td><td>
</tr>
what should be inside the td
$('#output').append(
+ '<td>'
+ '<ul class="listing" style="margin:0 8px 0 0;width:220px;">'
+ '<li class="item">'
+ '<dl>'
+ '<dt><a href="' + pathname + value.SLink + '" >' + value.CName.replace("(Or Similar)", "") + '</a>' + '</dt>'
+ '<dd>fr £' + parseFloat(value.CPrice).toFixed(0) + '</dd>'
+ '<dd class="last">' + value.CType + ', ' + value.CSize + '<br>'
+ ' Ad: ' + value.Ad
+ ', Chi: ' + value.Chi + '<br>'
+ ' Lu: ' + value.Big + ' Big, '
+ value.Lu + ' Small'
+ '</dd>'
+ '</dl>'
+ '</li>'
+ '</ul>'
+ '</td>'
);
Upvotes: 2
Views: 3035
Reputation: 3645
$(document).ready(function(){
table = $('<table>');
for (var i =0; i<5; i++){
var tr = $('<tr>');
for (var j =0; j<3;j++){
var td = $('<td>');
$(td).append('<span>All your html code for TD goes here</span>');
$(td).appendTo(tr);
}
$(tr).appendTo(table);
}
$(table).appendTo('body');
});
Upvotes: 1
Reputation: 10529
Simple nested loop:
var content;
for (var i = 1; i<= 5; $i++){
content += '<tr>';
for (var j = 1; j<= 3; j++){
content+= '<td><ul class="listing" style="margin:0 8px 0 0;width:220px;">'
+ '<li class="item">'
+ '<dl>'
+ '<dt><a href="' + pathname + value.SLink + '" >' + value.CName.replace("(Or Similar)", "") + '</a>' + '</dt>'
+ '<dd>fr £' + parseFloat(value.CPrice).toFixed(0) + '</dd>'
+ '<dd class="last">' + value.CType + ', ' + value.CSize + '<br>'
+ ' Ad: ' + value.Ad
+ ', Chi: ' + value.Chi + '<br>'
+ ' Lu: ' + value.Big + ' Big, '
+ value.Lu + ' Small'
+ '</dd>'
+ '</dl>'
+ '</li>'
+ '</ul>'
+ '</td>';
}
content += '</tr>';
}
$("body").append(content);
Upvotes: 5
Reputation: 4288
function consTrTd (elementId, trCount, tdCount){
for(var i = 0; i < trCount; i++){
var ttr = $("<tr>").appendTo("#"+elementId);
for(var j = 0; j < tdCount; j++ )
ttr.append("<td>");
}
}
consTrTd(1,5,3);
Upvotes: 0