我试图用通过ajax获取的新数据替换表。第一次工作得很好,但是行被添加而不是被替换,所以我最终得到重复的行。jQuery用新数据替换表行
下面是我的一些代码:
success: function(data){
$("#featured_listing_tbody").children('tr:not(:first)').remove();
counter= 1;
$.each(data, function(i, val){
newPropertyRows += '<tr>';
$.each(val, function(key, info){
var skip = false;
if(key == "Id") {
Id = info;
newPropertyRows += '';
skip = true;
}
if(key == "thumbs"){
info = '<img width="100px" src=uploads/properties/'+Id+'/thumbs/'+info+' />';
newPropertyRows += '<td class="col'+counter+'"><a href="/featured.php?prop='+Id+'">'+info+'</a></td>';
skip = true;
counter++;
}
if(skip == false){
newPropertyRows += '<td class="col'+counter+'"><a href="/featured.php?prop='+Id+'">'+info+'</a></td>';
counter++;
}
info = '';
});
newPropertyRows += '</tr>';
});
$("#featured_listing_tbody").html(newPropertyRows);
}
好吧,我明白一个想法。但随着时间的推移,结果越来越多,恐怕额外的数据会减慢这个过程。我疯了(不要那么大声笑) – 2011-03-28 12:53:06
下载一些表格行并将它们吐出来比在数据中循环并快速创建它们更快,特别是使用这些计数器和其他东西。这种方式的负载是在您的服务器上,而不是在用户(可能石器时代)的浏览器。 – Dunhamzzz 2011-03-28 12:55:44