简体   繁体   English

Javascript:循环仅输出最后一个值

[英]Javascript: Loop prints only last value

i am using below loop to print data in javascript 我正在使用以下循环在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);
  }

it has following values when i see in network tab 在网络标签中看到以下值

在此处输入图片说明 but only last one is printed in table, please helo me with this. 但只有最后一张印在桌子上,请与此联系。 Thanks 谢谢

Take $("#billonholdtable").html(html); $("#billonholdtable").html(html); out of loop or 回路外或

use 采用

$("#billonholdtable").append(html);

You use $("#billonholdtable").html(html); 您使用$("#billonholdtable").html(html); in your code, which makes every iteration re-generate a new html instead of appending it. 在您的代码中,这使得每次迭代都重新生成一个新的html而不是附加它。

How about this? 这个怎么样?

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);

You must declare a variable html is out of the loop. 您必须声明一个变量html已退出循环。 var html=''; var html =''; within the loop you have to define as mentioned below. 在循环中,您必须按如下所述进行定义。 html+= "values"; html + =“ values”;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM