从数据表

时间:2016-06-27 23:31:25

标签: javascript jquery datatables

我有以下选项作为其中一部分:

"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],

我正在尝试为lengthMenu选择值。但是,在查看了jquery API之后,我似乎找不到任何东西来获取它后的值。你们可以想到的任何可能的解决方案吗?

3 个答案:

答案 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(),我最终发现了。

感谢所有人的帮助,我试着在网上寻找这个问题的答案但是找不到多少。希望这些答案能在将来帮助其他人。