Javascript 更改jQuery datatable中显示的行数

Javascript 更改jQuery datatable中显示的行数,javascript,jquery,datatable,Javascript,Jquery,Datatable,为什么jquery datatable(参见下面的代码)中的行数没有设置为5?默认情况下,它等于10 8)。为什么“iDisplayLength”:5在这里不起作用 <script> function loadData() { $.getJSON( 'modules/getData.php', function(data) { var oTable = $('#newspaper-b').data

为什么
jquery datatable
(参见下面的代码)中的行数没有设置为5?默认情况下,它等于10 8)。为什么“iDisplayLength”:5在这里不起作用

<script>
function loadData() {
    $.getJSON(
              'modules/getData.php',
        function(data) {
                  var oTable = $('#newspaper-b').dataTable({
                        "sPaginationType":"full_numbers",
                        "aaSorting":[[3, "asc"]],
                        "bJQueryUI":true,
                        'iDisplayLength': 5,
                        'bLengthChange': false
                  });

                  oTable.fnDraw();

                  var list = data.flights;
                  var textToInsert = '';

                  for (var i = 0; i < list.length; i++) {
                        aux = list[i];
                        textToInsert  += '<tr><td>';
                        textToInsert  += aux.Var1;                                                                  
                        textToInsert  += '</td> </tr>' ;

                    }
                  $('table#newspaper-b tbody').html(textToInsert);

              }
    );             
}         

</script>

函数loadData(){
$.getJSON(
'modules/getData.php',
功能(数据){
var oTable=$('#报纸-b')。数据表({
“sPaginationType”:“完整编号”,
“aaSorting”:[[3,“asc”],
“bJQueryUI”:没错,
“iDisplayLength”:5,
“bLengthChange”:false
});
oTable.fnDraw();
var列表=data.flights;
var textToInsert='';
对于(变量i=0;i
试试这样的方法。DataTables具有内置选项,允许您从AJAX源中提取数据,而无需自己构建数据。并根据需要进行定制:

function loadData() {
    var oTable = $('#newspaper-b').dataTable({
            "sAjaxSource": 'modules/getData.php',
            "sPaginationType": "full_numbers",
            "aaSorting": [
                [3, "asc"]
            ],
            "bJQueryUI": true,
            'iDisplayLength': 5,
            'bLengthChange': false
    });
};
要在加载数据后以某种方式修改表,您需要添加以下选项:

你可以试试

$('#example').dataTable( {
        "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
    } );

这绝对是我找到的最简单的方法:

var oTable;

$(document).ready(function() {
    $('.some-button').click( function () {
        var oSettings = oTable.fnSettings();
        oSettings._iDisplayLength = 50;
        oTable.fnDraw();
    });

    oTable = $('#example').dataTable();
});

此外,如果您以前使用
“bStateSave”:true
iDisplayLength
未指定/默认值运行/测试,则
iDisplayLength
保存的默认值将覆盖指定新值的任何后续尝试,并且您仍将获得10行。尝试清空缓存,设置
“bStateSave”:false
,指定所需的
iDisplayLength
,然后再次运行。

为什么要初始化datatable,然后显式将data+html放入表中;为什么不让datatable自己处理呢!这只是一段代码。我需要将最后两列作为输入字段。在这种情况下,如何定义某些列为输入字段?更新答案。DataTables几乎可以解决所有问题,但是有太多的选项,很难找到您需要的。搜索那个网站通常会得到很好的结果。
var oTable;

$(document).ready(function() {
    $('.some-button').click( function () {
        var oSettings = oTable.fnSettings();
        oSettings._iDisplayLength = 50;
        oTable.fnDraw();
    });

    oTable = $('#example').dataTable();
});