簡體   English   中英

如何覆蓋 HTML 數據表上的數據?

[英]How can i overwrite data on HTML Datatables?

在模板上,我從 Websocket 連接接收數據,這是我接收數據的方式:

<script language="javascript">
    mySocket.onmessage = function(event) {
        var data = JSON.parse(event.data);
        console.log('data', data);
        $('history').append('</td><td>'+data['Rate']+'</td><td>'+data['Quantity']+'</td></tr>')
    };
</script>

在我的 HTML 我有一個數據表:

<table class=" table table-hover" id="history">
    <thead>
      <tr>
        <th>RATE</th>
        <th>QUANTITY</th>
      </tr>
    </thead>
<tbody>

每次我收到一條消息時,消息的內容都會附加到表格中。 這段代碼沒有任何問題,問題它會不斷向表中添加數據,使表變得非常大而且很難看。

相反,我想要的是:該表保持 10 條記錄的固定高度,因此每次收到新消息時,該消息都會附加到表的第一行,而位於第十位的消息桌子消失了。 有沒有辦法做到這一點? 提前致謝。

也許您的代碼不起作用。

更改如下。

<table class=" table table-hover" id="history">
    <thead>
      <tr>
        <th>RATE</th>
        <th>QUANTITY</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
</table>

<script language="javascript">
    mySocket.onmessage = function(event) {
        var data = JSON.parse(event.data);
        console.log('data', data);
        $('#history > tbody').prepend('<tr><td>'+data['Rate']+'</td><td>'+data['Quantity']+'</td></tr>');
        if ($('#history > tbody > tr').length > 10) {
           $('#history > tbody > tr:last-child').remove();
        }

    };
</script>

 var ind = 0; setInterval(function () { ind++; $('#history > tbody').prepend('<tr><td>aaa' + ind + '</td><td>bbb</td></tr>'); if ($('#history > tbody > tr').length > 10) { $('#history > tbody > tr:last-child').remove(); } }, 1000);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table class=" table table-hover" id="history"> <thead> <tr> <th>RATE</th> <th>QUANTITY</th> </tr> </thead> <tbody> </tbody> </table> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM