单击按钮时使用制表符从单行中获取值

Get values form a single row using a tabutalor on button click

我对 javascript 和他的插件有点陌生,对于这个网络应用程序,我正在尝试创建一个按钮,从制表符(插件)获取一行,但这里的问题是我只每次刷新页面都可以做一次,否则结果和第一个一样,我不想那样。请记住,此制表符处于模态视图中。

我这样做是为了获取数据:

var tab_modal = Tabulator.prototype.findTable('#modal-table')[0];
    var data_modal = tab_modal.getData()[0];

第一次工作正常,但第二次值没有改变。 我出去搜索了一下我找到了这个 solution 但出现了错误 $("...").Tabulator is not a function.

有人可以帮帮我吗??

抱歉英语不好。

提前致谢

这是所有按钮代码

$("#modal-btn").on('click', function (e) {

    var tab_modal = Tabulator.prototype.findTable('#modal-table')[0];
    var data_modal = tab_modal.getData()[0];
    console.log(data_modal);
    $.ajax({
        type: "POST",
        url: "....",
        datatype: 'json',
        data: { id: id },
        success: function (data) {
            $.ajax({
                type: "POST",
                url: "...",
                datatype: 'json',
                data: { ... },
                success: function (data) {
                    if (data) {
                        
                        $('#myModal').modal('hide');
                        get_list(tree);
                    }
                }
            });
        }
    });
    
});

好吧getData()[0]总是排在第一位。

你可以这样做:

var row = getRow(<some_number>)
var data = row.getData()

其中 some_number 是该行的索引值。索引需要在 table 构造函数中定义为:

index: index_fld.

如果这不能回答您的问题,您将不得不更新问题以更明确地说明您要检索的数据。

所以澄清一下,我想存储和使用模态视图中一个 table 中的行的值,但发生的事情是我只按时编码存储,每次我重复process 我无法更改之前设置的 val enter image description here

因此,我每次使用制表符属性编辑单元格时都这样做,而不是在按下按钮后尝试存储它。

var table = new Tabulator("#modal-table", {
    reactiveData: true,
    layout: "fitColumns",
    resizableRows: true,
    data: data, 
    columns: [
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
        { title: "title_name", field: "field_name", editor: "input" },
    ],
    cellEdited: function (cell) {

        var data = cell.getRow().getData();
        console.log(data);
        dados_row = [{ /* storing here the array so later I can use it */ }];
        console.log(dados_row)

    },

});