【问题标题】:DataTable add new rows with for loopDataTable 使用 for 循环添加新行
【发布时间】:2019-01-08 11:17:12
【问题描述】:

大家好

我对 DataTable 及其关于添加新行的 API 有疑问。我正在使用带有 ES5 的 jQuery 的 DataTable(是的,我需要这种组合)。

我有一个按钮,我称之为“addNewRow”(是的,它是 明显的)。如果我单击此按钮显示一个带有输入的模式,我可以在其中放置一些数据,如姓名、薪水等,并将其实现到我的 DataTable,但有什么可能的方法让它更动态?因为每次当我想创建一个新列并向 HTML modals 添加新输入时,我必须在我的 js 文件中的 row.add() 中添加一个新行代码。

这是一个例子:

$buttonWrapper.on('click', '.addButton', function (){ $table = $('table').DataTable(); $table.row.add([ $modal.find('input').eq(0).val(), $modal.find('input').eq(1).val(), $modal.find('input').eq(2).val() ])。画(); });

我想要这样的循环:

$buttonWrapper.on('click', '.addButton', function (){ $table = $('table').DataTable(); $theadTr = $('table thead tr'); for(var i = 0; i

我知道每次 row.add() 都会添加它,因为它取决于长度。我也尝试在 row.add() 函数中实现一种方法,但它不起作用(在免费版本上可能不存在类似的东西)。我也尝试过 add.rows() 但它也不起作用。 感谢您的任何建议。

【问题讨论】:

    标签: jquery datatable row add ecmascript-5


    【解决方案1】:

    希望对您有所帮助。

    $buttonWrapper.on('click', '.addButton', function (){
        var newRow = [];
        $table = $('table').DataTable();
        $theadTr = $('table thead tr');
        for(var i = 0; i < $theadTr.length; i++){
           newRow.push($modal.find('input').eq(i).val());
       }
       $table.row.add(newRow).draw();
    });
    

    【讨论】:

    • 如果您有任何其他疑问,请询问:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 2017-12-22
    • 2019-01-31
    相关资源
    最近更新 更多