在服务器端,我每3秒钟发出数据库的最后10行;
setInterval(function() {
connection.query("SELECT * FROM report ORDER BY id DESC limit 10", function(err, rows) {
if (err) console.log(err);
else {
console.log("Last 10 record emitted.");
// console.log("rows: " + JSON.stringify(rows, null, 3));
io.emit("last_list", rows)
}
});
}, 3000);
在客户端,我将这些行追加到表中;
socket.on('last_list', function(rows) {
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
$('#myTable').append('<tr><td>' + row.id + '</td><td>' + row.fabrika + '</td><td>' +
row.kumes + '</td><td>' + row.makina + '</td><td>' + row.kat + '</td><td>' +
row.sol_sag + '</td><td style="color: rgba(25, 44, 44, 1); font-weight: bolder;">' +
row.adet + '</td></tr>');
}
});
我的问题是,如何更新表而不是每3秒添加新行?
最佳答案
每次追加前,都要清除表体。您可以给tbody一个ID并像$(“#tbody”).html(“”)那样清除它,或者您可以使用以下方法。
socket.on('last_list', function(rows) {
$('#myTable tbody').html("");
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
$('#myTable').append('<tr><td>' + row.id + '</td><td>' + row.fabrika + '</td><td>' +
row.kumes + '</td><td>' + row.makina + '</td><td>' + row.kat + '</td><td>' +
row.sol_sag + '</td><td style="color: rgba(25, 44, 44, 1); font-weight: bolder;">' +
row.adet + '</td></tr>');
}
});
关于javascript - 用jQuery更新表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45660092/