我有以下选项作为其中一部分:
"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
我正在尝试为lengthMenu选择值。但是,在查看了jquery API之后,我似乎找不到任何东西来获取它后的值。你们可以想到的任何可能的解决方案吗?
答案 0 :(得分:1)
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
。
答案 1 :(得分:0)
我应该使用aLengthmenu 而不是lengthmenu
$('#table_id').DataTable( {
"aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]]
});
答案 2 :(得分:0)
是的,Chris H的回答是正确的,并且有效,另一个可能的解决方案是$(" select")。val(),我最终发现了。
感谢所有人的帮助,我试着在网上寻找这个问题的答案但是找不到多少。希望这些答案能在将来帮助其他人。