当初始化用于多个 table 时,如何获取当前 table id 以添加到 ajax 数据?

How to get current table id to add to ajax data when initialisation is used for multiple tables?

我对具有相同 class 但不同 ID 属性的多个 table 进行了以下初始化:

var $table = $('table.jobs');

$table.DataTable({

    ....
    ajax: {
        url: '/my-url',
        dataSrc: function (json) {

            return json.data
        },
        data: function(data) {

            data.table_id = $table.attr('id');
            // gives the same id for all tables

        }
    },
    ...
});

有什么方法可以识别哪个 table 正在发送 ajax 请求?我试图避免为每个 table.

重复整个初始化

您可以尝试这样的操作:

$('.table.jobs').each(function () {
    $('#'+$(this).attr('id')).dataTable({
         url: '/my-url',
    dataSrc: function (json) {

        return json.data
    },
    data: function(data) {

        data.table_id = $table.attr('id');
        // gives the same id for all tables

    }
});