Javascript:Loop只打印最后一个值

Javascript:Loop只打印最后一个值,javascript,jquery,Javascript,Jquery,我使用下面的循环以javascript打印数据 for(var i = 0; i < result.data.length; i++){ var getbills = result.data; var html = "<tr>"; html+= "<td>"+getbills[i].customername+"</td>"; html+= "<td>"+getbills[i].customerphone

我使用下面的循环以javascript打印数据

for(var i = 0; i < result.data.length; i++){
     var getbills = result.data;
     var html = "<tr>";
     html+= "<td>"+getbills[i].customername+"</td>";
     html+= "<td>"+getbills[i].customerphone+"</td>";
     html+= "<td>"+getbills[i].tablename+"</td>";
     html+= "<td>"+getbills[i].sale_date+" "+getbills[i].sale_time+"</td>";
     html+= "<td><a href='javascript:void(0)' data-id='"+getbills[i].id+"' 
     class='btn btn-primary' 
     onclick='payforthependingorder("+getbills[i].id+")'>View</a><br /><a 
     href='"+baseURL+"Sale/deletesales/"+getbills[i].id+"' class='btn btn- 
     danger'>Delete</a></td>";
     html+= "</tr>";
     $("#billonholdtable").html(html);
  }
for(变量i=0;i”;
html+=“”;
$(“#billonholdtable”).html(html);
}
当我在“网络”选项卡中看到时,它有以下值

但表上只印了最后一张,请帮我填一下。谢谢

拿着
$(“#billonholdtable”).html(html)循环外或

使用

您使用
$(“#billonholdtable”).html(html)
在您的代码中,这使每次迭代都重新生成一个新的html,而不是附加它

这个怎么样

var content= '';
for(var i = 0; i < result.data.length; i++){
     var getbills = result.data;
     var html = "<tr>";
     html+= "<td>"+getbills[i].customername+"</td>";
     html+= "<td>"+getbills[i].customerphone+"</td>";
     html+= "<td>"+getbills[i].tablename+"</td>";
     html+= "<td>"+getbills[i].sale_date+" "+getbills[i].sale_time+"</td>";
     html+= "<td><a href='javascript:void(0)' data-id='"+getbills[i].id+"' 
     class='btn btn-primary' 
     onclick='payforthependingorder("+getbills[i].id+")'>View</a><br /><a 
     href='"+baseURL+"Sale/deletesales/"+getbills[i].id+"' class='btn btn- 
     danger'>Delete</a></td>";
     html+= "</tr>";
     content += html;
}
$("#billonholdtable").html(content);
var内容=”;
对于(var i=0;i”;
html+=“”;
内容+=html;
}
$(“#billonholdtable”).html(内容);

必须声明变量html不在循环中。 var html=''; 在循环中,您必须定义如下所述。
html+=“值”

此表在按钮单击时显示在模式窗口中。如果我在每次单击事件中使用append,它会追加3个条目,则必须在循环执行开始之前将billonholdtable的HTML设置为空。HTML()
覆盖该元素中的当前数据。您在每次迭代中重新创建
html
,并在循环的每次迭代中覆盖。完美答案!多谢你,诺布
var content= '';
for(var i = 0; i < result.data.length; i++){
     var getbills = result.data;
     var html = "<tr>";
     html+= "<td>"+getbills[i].customername+"</td>";
     html+= "<td>"+getbills[i].customerphone+"</td>";
     html+= "<td>"+getbills[i].tablename+"</td>";
     html+= "<td>"+getbills[i].sale_date+" "+getbills[i].sale_time+"</td>";
     html+= "<td><a href='javascript:void(0)' data-id='"+getbills[i].id+"' 
     class='btn btn-primary' 
     onclick='payforthependingorder("+getbills[i].id+")'>View</a><br /><a 
     href='"+baseURL+"Sale/deletesales/"+getbills[i].id+"' class='btn btn- 
     danger'>Delete</a></td>";
     html+= "</tr>";
     content += html;
}
$("#billonholdtable").html(content);