我的数据表问题的正确语法是什么?

时间:2019-09-14 22:18:20

标签: javascript jquery ajax datatables

我有一个数据表,该数据表在如下脚本中加载:

<script>
        function table() {
            $.ajax({
                url: 'tables/winnertable-all.php',
                type: 'get',
                data: { name: '<?php echo $name ?>', Type: '<?php echo $Type ?>'  },
                success: function(response){
                    $('.winnertable').html(response);
                    $('#newtable').DataTable();
                }
            });
        }
                                table();
        setInterval(table, 3600000);

                                table();
        setInterval(table, 3600000);
$(document).ready(function() {
    $('#newtable').DataTable();
} );
    </script>

我想在第一列中添加默认顺序,我已经在数据表网站上找到了以下代码作为示例:

$(document).ready(function() {
    $('#example').DataTable( {
        "order": [[ 3, "desc" ]]
    } );
} );

我想在我的代码中实现这一点,但是添加行后无法加载该表。 我尝试过:

<script>
        function table() {
            $.ajax({
                url: 'tables/winnertable-all.php',
                type: 'get',
                data: { name: '<?php echo $name ?>', Type: '<?php echo $Type ?>'  },
                success: function(response){
                    $('.winnertable').html(response);
                    $('#newtable').DataTable();
                    "order": [[ 1, "desc" ]];

                }
            });
        }
                                table();
        setInterval(table, 3600000);

                                table();
        setInterval(table, 3600000);
$(document).ready(function() {
    $('#newtable').DataTable();
    "order": [[ 1, "desc" ]];
} );
    </script>

我知道他们的语法实现存在问题,但是我尝试了各种不同的方法,但无法使其正常工作。

1 个答案:

答案 0 :(得分:1)

通常,如果要重新初始化数据表以更改其基本设置,则需要使用destroy标志。

但是,在您的情况下,我只需将所需的order设置添加到默认值

$.extend( true, $.fn.dataTable.defaults, {
  order: [[ 3, "desc" ]]
})

如果您先执行此操作,则在页面加载时,所有表都将默认为order: [[ 3, "desc" ]]。如果出于某种原因不想更改默认值,则可以简单地利用API,令人惊讶的是,您可以使用order方法

var table = $('#newtable').DataTable()
table.order( [[ 3, "desc" ]] ).draw()