Javascript 从datatable获取lengthmenu值

Javascript 从datatable获取lengthmenu值,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有以下选择作为我的一部分: "lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]], 我正在尝试获取为lengthMenu选择的值。然而,在查看jQueryAPI之后,我似乎找不到任何东西可以在它被更改后获得这个值。你们能想出什么可行的解决方案吗?这就是你们想要的!page.info()函数将返回有关数据表分页的许多不同信息,包括每页上显示的记录数(lengthMenu的选定值) 下面是page.info()调用将返回的

我有以下选择作为我的一部分:

"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
我正在尝试获取为lengthMenu选择的值。然而,在查看jQueryAPI之后,我似乎找不到任何东西可以在它被更改后获得这个值。你们能想出什么可行的解决方案吗?

这就是你们想要的!
page.info()
函数将返回有关数据表分页的许多不同信息,包括每页上显示的记录数(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

我认为您不应该使用lengthmenu

$('#table_id').DataTable( {
   "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]]
});

是的,Chris H的答案是正确的,而且有效。我最终发现另一个可能的解决方案是$(“select”).val()


谢谢大家的帮助,我试着在网上四处寻找这个问题的答案,但找不到太多。希望这些答案将来能帮助其他人。

aLengthmenu只是1.10版之前的DataTables选项;如果您使用DataTables 1.10+我建议您使用的是与DataTables有关的sues在DataTables论坛上搜索自己,或向他们提问。插件的作者非常擅长在几天内回答问题。投票支持这个答案,因为当你在一个页面上有多个表时,它会起作用。