亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JQuery 從 jsp 生成的數據表中刪除閾值后的舊行

JQuery 從 jsp 生成的數據表中刪除閾值后的舊行

拉丁的傳說 2023-08-05 20:52:15
我使用 JSP 腳本在網頁上生成一個表,給定一個列表,解析值并生成表。我的表需要為每個名稱參數具有相同的行數(示例中為 2),如下所示:id name value1 value10  name1 12    131  name1 11    92  name2 14    23  name2 14    44  name3 12    55  name3 1     26  name4 12    17  name4 15    2一旦 jsp 接收到包含其中一個名稱的新列表元素,該表就需要刪除接收到的較舊的名稱并添加新行。如果我們收到新的 name1 列表,則:id name value1 value11  name1 11    98  name1 21    242  name2 14    23  name2 14    44  name3 12    55  name3 1     26  name4 12    17  name4 15    2如果我們收到新的 name3 列表,則:id name value1 value11  name1 11    98  name1 21    242  name2 14    23  name2 14    45  name3 1     29  name3 25    196  name4 12    17  name4 15    2這是我的代碼:<table id="myTable"><thead><tr><th>id</th><th>name</th><th>value1</th><th>value2</th></tr></thead><tbody><td><c:forEach items="${my_params}" var="param"><td>${param.param}</td></c:forEach></td></tbody>由于我按名稱分組,因此我使用以下數據表代碼:var group = $('tr.group');var totalGroups = group.length;var maxRows = totalGroups*2;var groupColumn = 1;$('#myTable thead th').unbind('click');var table = $('#myTable').DataTable({    "columnDefs": [        { "visible": false, "targets": groupColumn }    ],    "order": [[ groupColumn, 'asc' ]],    "displayLength": 40,    "drawCallback": function ( settings ) {        var api = this.api();        var rows = api.rows( {page:'current'} ).nodes();        var last=null;        api.column(groupColumn, {page:'current'} ).data().each( function ( group, i ) {            if ( last !== group ) {                $(rows).eq( i ).before(                    '<tr class="group"><td colspan="5">'+group+'</td></tr>'                );                last = group;            }        } );         if(table.rows().count() >= maxRows) {table.row(0).remove().draw()};    }} );使用這種方法,我永遠不會刪除舊行,因為一旦我重新加載頁面,它就會被刪除。使用我重新加載頁面后提供的代碼,該行將再次重新繪制。在特定閾值之后繪制新行后,如何立即刪除舊行?
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我自己用一些解決方法解決了這個問題。基本上,一旦生成表,我就會調用一個函數來刪除第一行(最舊的 id),用戶看不到任何內容,并且閾值被超過。


與此類似:


function deleteRow() {

    var group = //get//group//names

    var threshold = totalGroupLines

   while(myTable.rows().count() >= threshold){

     myTable.row(0).remove().draw();

}

}


查看完整回答
反對 回復 2023-08-05
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號