Javascript:Loop只打印最后一个值
我使用下面的循环以javascript打印数据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
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);