Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js table elements检索行的索引,并作为其他绘图的控制元素_Javascript_Callback_Tabulator - Fatal编程技术网

Javascript js table elements检索行的索引,并作为其他绘图的控制元素

Javascript js table elements检索行的索引,并作为其他绘图的控制元素,javascript,callback,tabulator,Javascript,Callback,Tabulator,我正在使用Tabletor软件包4.3.0处理网页。包生成的表将成为其他一些绘图的控制元素。为了实现这一点,我在定义表变量时添加了一个dataFiltered函数。但是,我不想获取数据对象中行的顺序,而是想找到一种方法来获取筛选表中行的索引 目前,我搜索了一下手册,并编写了与此类似的代码: dataFiltered: function(filters,rows){ console.log(rows[0]._row.data) console.log(rows[0].getPosition(tru

我正在使用Tabletor软件包4.3.0处理网页。包生成的表将成为其他一些绘图的控制元素。为了实现这一点,我在定义表变量时添加了一个dataFiltered函数。但是,我不想获取数据对象中行的顺序,而是想找到一种方法来获取筛选表中行的索引

目前,我搜索了一下手册,并编写了与此类似的代码:

dataFiltered: function(filters,rows){
console.log(rows[0]._row.data)
console.log(rows[0].getPosition(true));
}
但是getPosition始终返回-1,这表示在筛选表中找不到该行。我还生成了一个演示,以在运行函数时显示真实的现场。使用此链接:

如果有人能帮我解释一下如何在过滤后的数据中获得行的实际索引,以便我可以相应地更新绘图,以及为什么在运行以这种方式编写的代码时总是得到-1,我将不胜感激

此外,我想知道在用户对表进行排序时是否也有方法检索数据。遗憾的是,使用以下策略的代码没有按照我期望的方式工作,因为它没有对排序操作作出反应,并且在第一次加载页面时不会显示信息

$('#trialTable').on('change',function(x){console.log("Yes")})

提前感谢您的帮助。

发生这种情况的原因是,dataFiltered回调是在筛选行之后,但在将行放在表中之前触发的,因此在您对行调用getPosition函数之前,它们不一定准备就绪

您最好使用renderComplete回调,该回调还将处理表排序时的场景,这将更改行位置

然后,您可以使用getRows函数传递值
“active”
,作为第一个仅返回已通过筛选的行的增广:

renderComplete:function(){
var rows=table.getRows(“活动”);
console.log(行[0].getPosition(true));
}
另一方面,我注意到您正试图访问
\u row
属性以访问row数据。按照惯例,下划线属性在JavaScript中被视为私有属性,不应访问,因为它可能导致系统行为不稳定

制表器上有一组广泛的函数,允许您访问所需的任何内容。在访问行数据的情况下,有getData功能

var data=row.getData();

感谢您,Oli就renderComplete功能(不敢相信我在手册中遗漏了这一点)和精美的交互式制表器软件包提供了建议。另外,旁注确实有助于阻止我破坏系统。