我在使用jquery.datatables.js为数据表创建自定义类型时遇到了一些问题。
我的表初始化如下所示:
drawTable['#<?= $tab ?>'] = function() {
$('#sites_<?= $tab ?>').dataTable({
'iDisplayLength' : 25,
'aaSorting': [[5, 'desc']],
'aLengthMenu': [[25, 50, 100, -1], [25, 50, 100, 'All']],
'aoColumns' : [
{'sType' : 'formatted-num'},
null,
null,
null,
{'sType' : 'formatted-num'},
{'sType' : 'formatted-num'},
{'sType' : 'formatted-num'},
{'sType' : 'formatted-num'},
{'sType' : 'formatted-num'},
{'sType' : 'formatted-num'}
]
})
};
然后:
$(document).ready(function() {
drawTable['#<?= $tab ?>']();
drawnTable['#<?= $tab ?>'] = true;
});
$ tab是从服务器中选择一些值。
这适用于自定义类型,但我需要创建自己的类型。我该怎么办?我一直在阅读这里的一些示例:http://www.datatables.net/plug-ins/type-detection但是所有这些示例似乎都是针对仅以$(document).ready(function() {
$('#example').dataTable();
} );
不确定如何在我的一个列中实现至少其中一个,如果我至少可以这样做,我会编写自己的函数。谢谢!
答案 0 :(得分:3)
这是如何完成的:
jQuery.fn.dataTableExt.oSort['num-html-asc'] = function(a,b) {
a = ;//changes to remove html signs
b = ;//same as above
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) {
a = ;//changes to remove html signs
b = ;//same as above
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
};
在包含datatables.js之后但在初始化之前包含该函数。然后在需要使用
的列中{'sType' : 'num-html'},
就是这样。