我有以下选项:
"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
我正在尝试获取为 lengthMenu 选择的值。然而,在查看了 jquery API 之后,我似乎找不到任何东西可以在更改后获取该值。你们能想到任何可能的解决方案吗?
最佳答案
DataTables Documentation有您正在寻找的东西! page.info() 函数将返回有关 DataTable 分页的许多不同信息,包括每页显示的记录数(lengthMenu 的选定值)。
以下是 page.info()
调用将返回的所有对象的列表(您可以像上面的示例一样引用所有内容:
{
"page": 1, //current page (0 based index)
"pages": 6, //total number of pages
"start": 10, //index of first element on page
"end": 20, //index of last element on page
"length": 10, //lengthMenu setting - this is what you want -
"recordsTotal": 57, //total number of records
"recordsDisplay": 57, //total number of records to display after filtering
"serverSide": false //whether or not serverside processing is used
}
考虑到这一切,你真正想要的将是这样的
var table = $('#example').DataTable(); //note that you probably already have this call
var info = table.page.info();
var lengthMenuSetting = info.length; //The value you want
所有这些(更详细的信息和一些示例)都可以在上面提供的链接中找到。
编辑:实际上,如果您想要的只是页面长度,则可以使用 table.page.len()
来获取页面的长度,而不是获取 table.page.info().length
。
关于javascript - 从数据表中获取长度菜单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064795/