jquery - 如何在现有数据表中添加新行作为 html

标签 jquery datatables

这是我根据我的要求创建的示例 html。基本上我想向现有数据表添加一个新行,其中数据表的源是 html dom 表。 在添加新行时,我需要首先将其附加到 dom 表,并且应该使用该附加行重新初始化/新创建数据表。

<head>

<link type="text/css" rel="stylesheet" href="http://cdn.datatables.net/1.10.4/css/jquery.dataTables.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>

</head>

<body>
<table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>

        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>

        <tbody>
            <tr>
                <td>Tiger Nixon</td>
                <td>System Architect</td>
                <td>Edinburgh</td>
                <td>61</td>
                <td>2011/04/25</td>
                <td>$320,800</td>
            </tr>
            <tr>
                <td>Garrett Winters</td>
                <td>Accountant</td>
                <td>Tokyo</td>
                <td>63</td>
                <td>2011/07/25</td>
                <td>$170,750</td>
            </tr>
            <tr>
                <td>Ashton Cox</td>
                <td>Junior Technical Author</td>
                <td>San Francisco</td>
                <td>66</td>
                <td>2009/01/12</td>
                <td>$86,000</td>
            </tr>
            <tr>
                <td>Cedric Kelly</td>
                <td>Senior Javascript Developer</td>
                <td>Edinburgh</td>
                <td>22</td>
                <td>2012/03/29</td>
                <td>$433,060</td>
            </tr>
        </tbody>
    </table>


</body>


<script>

$(document).ready(function() {

    var dt = $('#example').dataTable();


    $('#example tbody').append('<tr><td>bond</td><td>abc</td><td>xyz</td><td>22</td><td>2012/03/29</td><td>$433,060</td></tr>');

    dt.destroy();

    $('#example').dataTable();

}); 
</script>   

最佳答案

我知道这篇 super 老的帖子,但如果有人仍在寻找答案,您可以轻松地通过以下方式完成:

  1. 最简单的方法是使用 rows.add 传递 html,用 jquery 包装并重新绘制表格
var dt = $('#example').dataTable();
var row = '<tr><td>bond</td><td>abc</td><td>xyz</td><td>22</td><td>2012/03/29</td><td>$433,060</td></tr>';
dt.rows.add($(row)).draw();
  • 或者你做了什么,销毁表,追加你的html并再次重新初始化数据表(你只需先销毁数据表,然后追加)
  • var dt = $('#example').dataTable();
    var row = '<tr><td>bond</td><td>abc</td><td>xyz</td><td>22</td><td>2012/03/29</td><td>$433,060</td></tr>';
    dt.destroy();
    $('#example tbody').append(row);
    dt = $('#example').dataTable();
    

    关于jquery - 如何在现有数据表中添加新行作为 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139194/

    相关文章:

    jQuery 数据表 : Number of matching records by using search()

    javascript - 如何卡住 Javascript 超时和 BS4/jQuery 动画?

    javascript - 重新点击图片缩小

    jquery - 尝试在 jQuery 的上下文中查找元素

    jquery - 直接在JQuery DataTable中添加页脚

    javascript - 使数据表列在单击按钮时调整大小

    javascript - jQuery 数据表对象数组

    javascript - 根据 childNode 值对 Div 进行排序

    javascript - 当用户关闭浏览器窗口时发送ajax

    javascript - 在 React 组件和 browserify 包中使用插件加载 jQuery