jquery - 如何更新Datatable中的行数据?

标签 jquery reactjs datatable

我正在尝试更新 React 应用程序中使用的数据表中的一行。

我将 Datatable 对象以及在 React 组件状态中保存的所选保存为 this.state.myTablethis.state.selected.

我最初像这样保存数据表对象:

var myTable = $('#myTable').DataTable({ ... });

this.setState({ myTable: myTable });

我在行单击事件中保存所选行,如下所示:

$('#myTable tbody').on('click', 'tr', function () {
    $(this).toggleClass('selected');
}).on('click', 'tr', function () {
    this.setState({ selected: this.state.myTable.rows('.selected') });
}.bind(this));

我更新数据(根据 docs ),如下所示:

function (newValue) {
    var data = this.state.selected.row().data();
    data.someValue = newValue
    this.state.selected.row().data(data).draw();
},

但是新数据不会反射(reflect)在我的数据表中,除非我更新其他行(但只有这一行被更新,而不是那行)。

我在这里做错了什么?

最佳答案

$(document).ready(function () {
   $('#dataTable').on('click', '.update', function () {
        var tableRow = $('#dataTable').row($(this).parents('tr'));
        var rData = [
            test1,
            test1,
            '<a href="#" data-href="' + response.result[0].id + '" class="update">Update</a>',
            '<a href="#" data-href="' + response.result[0].id + '" class="delete">Delete</a>'
        ];
        $('#dataTable')
                .row( tableRow )
                .data(rData)
                .draw();
    });
});

您可以使用此代码,它在我们的项目中有效。

关于jquery - 如何更新Datatable中的行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39910855/

相关文章:

php - 我如何将 metronic ajax 表更改为 php mysql

javascript - JS Datatables - 从标题中的组合框中过滤表格

javascript - 添加新元素时修改它们

javascript - 在月份/日期选择器上限制年份

javascript - ReactJS 填充到多个 div 而不是 li

javascript - react : open link in a new tab

sorting - 如何使用vuetify的自定义排序?

jquery - 如何使用 InvokeScript() 从 .NET WebBrowser 控件调用 jQuery 函数?

javascript - 使用上一页和下一页按钮制作我自己的滑动图片库

javascript - React Hook useEffect错误缺少依赖项