我正在使用jquery数据表来显示数据。当没有数据时我显示' - '。目前,当表对数据进行排序时,所有' - '都在开头,顺序如下:
--
--
10
20
400
800
但是我需要让' - '在按升序排序时最后显示,并且应该如下所示:
10
20
400
800
--
--
请告诉我们如何才能在jquery datatable中获得此行为?
答案 0 :(得分:1)
你可以使用exstension
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"myorder-pre": function (a) {
},
"myorder-asc": function (a, b) {
if(a == '--' && b != '--')
return 1;
else if(b == '--' && a != '--')
return -1;
else if(b == '--'&& a == '--')
return 0;
else
{
a = parseFloat(a);
b = parseFloat(b);
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
},
"myorder-desc": function (a, b) {
if(a == '--' && b != '--')
return -1;
else if(b == '--' && a != '--')
return 1;
else if(b == '--'&& a == '--')
return 0;
else
{
a = parseFloat(a);
b = parseFloat(b);
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
}
});
在所有订单调用之前使用myorder-pre。 订购asc时myorder-asc。如果是次要b则返回负数,如果是主要b则返回正数,如果相等则返回0。 描述工作不利
然后在datatable列的定义中,使用
"aoColumnDefs": [{ "sType": 'myorder'}]
答案 1 :(得分:0)