我正在尝试替换数据表分页"上一页" &安培; "接着"使用fa图标(<,>)但收到错误"无法重新初始化DataTable。"

时间:2016-05-02 11:11:35

标签: jquery datatable pagination

我正在尝试替换数据表分页"上一页" &安培; "接着"使用fa图标(<,>)但收到错误"无法重新初始化DataTable。"
我已经搜索过并得到了诊断结果" DataTables提供了一个destroy()方法来销毁旧表,因此您可以在其位置初始化一个新表。 "

" https://datatables.net/manual/tech-notes/3"

我使用了以下代码,但我的表被销毁并再次创建。

$(document).ready(function () {
oTable = $('.pagination').dataTable({
    "ordering": true,
    "oLanguage": {
        "oPaginate": {
            "sNext": '<i class="fa fa-chevron-right" ></i>',
            "sPrevious": '<i class="fa fa-chevron-left" ></i>'
        }
    }
});

oTable.destroy(); });

有没有其他方法可以在不破坏旧表对象的情况下更改图标?

2 个答案:

答案 0 :(得分:3)

好吧,我检查了你的链接并看到了错误消息,但它的工作方式与你指出的documentation中的解释完全相同。

使用一组参数(第23-38行)创建一个数据表对象,然后使用不同的参数重新创建它(第41-49行)。初始化后,数据表不能覆盖参数,这就是触发错误的原因。我很好奇,为什么你需要第二次调用,为什么不能从一开始就用正确的分页初始化一个数据表对象?

也许如果您必须在创建页面后更改分页样式,您可以使用两个寻呼机构建数据表对象,并根据您的条件显示/隐藏它们:

    oLanguage: {
        oPaginate: {
            sNext: '<span class="pagination-default">Next</span><span class="pagination-fa"><i class="fa fa-chevron-right" ></i></span>',
            sPrevious: '<span class="pagination-default">Prev</span><span class="pagination-fa"><i class="fa fa-chevron-left" ></i></span>'
        }
    }

http://jsfiddle.net/Lm8ob3jw/,但请注意,每次用户按下next / prev按钮时,都会重新呈现分页控件。

答案 1 :(得分:1)

这对我有用:

$.extend(true, $.fn.dataTable.defaults.oLanguage.oPaginate, {
    sNext: '<i class="fa fa-chevron-right" ></i>',
    sPrevious: '<i class="fa fa-chevron-left" ></i>'
});