我正在尝试替换数据表分页"上一页" &安培; "接着"使用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(); });
有没有其他方法可以在不破坏旧表对象的情况下更改图标?
答案 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>'
});