初始化后如何更改DataTables的aLengthMenu

How to change the aLengthMenu of DataTables after it has been initialized

我有一个使用默认设置初始化的数据表。但是,我想将值为 [10,25,50,100] 的默认 aLengthMenu 更改为我的自定义值。

经过一些研究,我发现使用 API of Datatables 是可以做到的。我也在 Whosebug 上查看了一些类似的方法,但似乎没有任何效果。

这是我试过的。我正在使用 1.10.x 版本的 DataTable。

var table = $('#table').DataTable();
table.settings().context[0]._iDisplayLength  = 10;
table.settings().context[0].aLengthMenu = [[10, 25, 50, -1], [10, 25, 50, "All"]];
table.draw();
 $('#table').DataTable({
      pageLength:10,  
     "lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]});

我这里有工作示例:http://jsbin.com/dibuga/edit?html,css,js,output

     try this: http://jsbin.com/moyonos/edit?js,output   


        $(document).ready(function () {
            $('#example').DataTable({pageLength:25,"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ],
                data: someData.data,
                "columns": [
                { "data": "name" },
                { "data": "position" },
                { "data": "office" },
                { "data": "extn" },
                { "data": "start_date" },
                { "data": "salary" }

                                        ]
            });

             // name of table + "_length"
             var $sel =$("#example_length select");

            $sel.html("<option value='3'>3</option>");
            $sel.append("<option value='6'>6</option>");
            $sel.append("<option value='9'>9</option>");
            $sel.append("<option value='12'>12</option>");
            $sel.append("<option value='15'>15</option>");
            $sel.append("<option value='-1'>All</option>");

            $sel.trigger("change");
        });