删除数据表中的行

时间:2012-11-24 08:45:36

标签: jquery database datatable

我有一个使用datatable插件的表。我试图使用它来动态删除它的一行:

$(document).ready(function() {

    var oTable = $("table#demo-dtable-02").dataTable({"aaSorting": []});

    $(".icon-remove").on('click',function(){
        var anSelected = fnGetSelected( oTable );
        deleted=oTable.fnDeleteRow(anSelected[0] );
      });

              });

我收到以下错误ReferenceError:未定义fnGetSelected 我尝试使用(从这里:jQuery Data Tables plugin not removing table row

$(this).parent('tr').remove();

这当然会删除行但不会重置页脚中的文本 显示17个参赛作品中的1到10个。 删除这种方式不是解决此问题的最佳方法。

我的DOM代码如下:

<?PHP
                                            $count=1;
foreach($ledgers as $row) {?>
    <tr >
    <td><a onClick="viewDetails(<?PHP echo $row['id'];?>)" style="cursor:pointer"><?PHP echo $row['name'];?></a></td>

     <td><?PHP echo $row['email'];?></td>
     <td><?PHP echo $row['contact_number'];?></td>

     <td>
     <i class="icon-remove" rowcount=<?PHP echo $count;?> style="cursor:pointer; margin-right:5px" title="Remove Ledger" id="removeLedgerNow"></i>

    <i class="icon-edit" style="cursor:pointer" title="Edit Ledger" onclick="viewDetails(<?PHP echo $row['id'];?>)"></i>

   </td>
  </tr>
   <?PHP $count++; } ?>

注释

1 个答案:

答案 0 :(得分:4)

<强>更新

试试这段代码:

 $('.icon-remove').on('click', function () {
   // Get the position of the current data from the node
   var aPos = oTable.fnGetPosition( $(this).closest('tr').get(0) );
   // Delete the row
   oTable.fnDeleteRow(aPos);
 } );

注意:

  1. API中没有fnGetSelected。它可以是OP具有的自定义功能,但不会在问题中生成。
  2. fnGetPosition接受tdthtr元素
  3. .get(0)是将元素从jQuery对象中删除