我们使用 jQuery Datatables 插件将更新记录保存在多行中。
一旦验证失败,还会为所有列构建验证。
我们有以下代码行来关注验证失败的元素。
$(this).focus();
但是,如果验证在其他页面上失败($(this) 不在当前页面),则这将不起作用。
作为解决此问题的方法,我们认为我们将单击页码超链接
$(#identifier).trigger('click');
问题是
"How to know if an element with id A ( $(#A)) is in which page of jQuery Table ?"
一旦我们知道问题就会得到解决。
最佳答案
在这里,我编写了一个 js 函数,将您移动到具有给定行的页面(在本例中为类“selectedItem”的行)。如果您需要的话,应该可以重写代码来查找任何元素,而不仅仅是行。
function moveToPageWithSelectedItem() {
var numberOfRows = itemsTable.data().length;
var rowsOnOnePage = itemsTable.page.len();
if (rowsOnOnePage < numberOfRows) {
var selectedNode = itemsTable.row(".selectedItem").node();
var nodePosition = itemsTable.rows({order: 'current'}).nodes().indexOf(selectedNode);
var pageNumber = Math.floor(nodePosition / rowsOnOnePage);
itemsTable.page(pageNumber).draw(false); //move to page with the element
}
}
关于javascript - jQuery Datatable 获取元素的页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27775572/