单击按钮时使用制表符从单行中获取值
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)
},
});
我对 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)
},
});