如何将行数据一个接一个地附加到表中
How to append row data to table one by one?
这是我的html代码
<tr id="tHead">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
这是我的js代码
$(document).ready(function(){
$.ajax({
url: "data.json",
dataType: "json",
success: function(obj) {
for(i=0;i<obj.data.length;i++){
$("#tHead").after("<tr>" +
"<td>" + obj.data[i].name1 +
"</td><td>" + obj.data[i].name2 +
"</td><td>" + obj.data[i].name3 +
"</td><td>" + obj.data[i].name4 +
"</td><td>" + obj.data[i].name5 +
"</td></tr>");
}
}
});
});
现在我可以在"head"tr后附加数据。因为我在js代码中使用。after,所以数据行将一个接一个地附加在"head"之后,这将使我的第一个数据行成为表中的最后一个。
我需要的第一个数据行将是第一行的表,当我追加它。我该怎么做才能纠正呢?
我尝试使用。append但不工作,新行将直接追加在" head "行结束
您只需要在父表上使用.append()
,而不是在#tHead
上使用.after()
success: function(obj) {
for(var i = 0; i < obj.data.length; i++) {
$("#tHead").parent("table").append("<tr>" +
"<td>" + obj.data[i].name1 +
"</td><td>" + obj.data[i].name2 +
"</td><td>" + obj.data[i].name3 +
"</td><td>" + obj.data[i].name4 +
"</td><td>" + obj.data[i].name5 +
"</td></tr>");
}
}
您的行现在将按时间顺序追加。
第二个解决方案是在:last
psuedo选择器上使用.after()
,并在#tHead
上使用.siblings()
选择器。
success: function(obj) {
for(var i = 0; i < obj.data.length; i++) {
$("#tHead").siblings("tr:last").after("<tr>" +
"<td>" + obj.data[i].name1 +
"</td><td>" + obj.data[i].name2 +
"</td><td>" + obj.data[i].name3 +
"</td><td>" + obj.data[i].name4 +
"</td><td>" + obj.data[i].name5 +
"</td></tr>");
}
}
反转循环,它就会像你想的那样工作了
$(document).ready(function()
{
$.ajax(
{
url: "data.json",
dataType: "json",
success: function(obj)
{
for(i=obj.data.length-1;i>=0;i--)
{
$("#tHead").after("<tr>" +
"<td>" + obj.data[i].name1 +
"</td><td>" + obj.data[i].name2 +
"</td><td>" + obj.data[i].name3 +
"</td><td>" + obj.data[i].name4 +
"</td><td>" + obj.data[i].name5 +
"</td></tr>");
}
}
});
});
可能是这样的:
$(document).ready(function(){
$.ajax({
url: "data.json",
dataType: "json",
success: function(obj) {
$("#tHead").append("<tr>");//----------- open new row.
obj.forEach(function(row) {
$("#tHead").append("<td>");
$("#tHead").append(row);//---------- actual info.
$("#tHead").append("</td>");
});
$("#tHead").append("</tr>");//---------- close new row.
}
}
});
});
在这里可以找到一个很好的阅读:https://stackoverflow.com/a/9329476/2645091关于迭代数组的不同方法
相关文章:
- 动态构建一个数据表与scriplets
- 单击一个数据表,填充第二个数据表
- jquery获取一个数据标记并使用它做一些事情
- 在JSON中创建一个数据对(不是字典,而是两个独立的数据)
- 在FB.api函数中创建一个数据项目
- AngularJS从另一个数据模型访问数据模型
- 如何检测一个数据角色=“页面”中对特定列表视图项的单击,并在另一个数据上显示相应的数据
- 在 Backbone js 中永久引用来自另一个数据的数据
- Canvas getImageData() 为了获得最佳性能.提取所有数据或一次提取一个数据
- 我有一个数据列表,我将其转换为 Ul 和 li 的列表,现在我希望这个列表在 JSP 中显示为树
- jQuery 查找具有一个数据键和多个值的数据属性
- 如何在我的高图表饼图中获取一个数据标签,这是一个字体很棒的图标
- 如何从一个数据数组绘制图表并从另一个数据数组在图表上制作标签?高图表 v.4.0.4.
- 更新其中一个数据表单元格的多个下拉值的最佳方法是什么
- jQuery Mobile - 如何在从一个数据角色页面移动到另一个数据角色页面时传递参数
- 谷歌图表API:一个数据系列,两个垂直轴
- 为什么这个ajax请求有一个数据字符串,里面有一堆带破折号的数字
- 可以't使用jquery在selected中选择一个数据
- 我在angular js中调用一个数据抛出json,但不接收数据为什么
- JavaScript中的Ajax只发送数组中的最后一个数据