所以这个问题已经在这里问过了,但解决方案对我不起作用(我可能做错了什么)。我想按字母顺序(“type”:“natural”)对表格进行排序,但我希望空单元格位于底部(对于 desc 和 asc)。
我尝试了 fbas 给出的先前解决方案:
jQuery.fn.dataTableExt.oSort['mystring-asc'] = function(x,y) {
var retVal;
x = $.trim(x);
y = $.trim(y);
if (x==y) retVal= 0;
else if (x == "" || x == " ") retVal= 1;
else if (y == "" || y == " ") retVal= -1;
else if (x > y) retVal= 1;
else retVal = -1; // <- this was missing in version 1
return retVal;
}
jQuery.fn.dataTableExt.oSort['mystring-desc'] = function(y,x) {
var retVal;
x = $.trim(x);
y = $.trim(y);
if (x==y) retVal= 0;
else if (x == "" || x == " ") retVal= -1;
else if (y == "" || y == " ") retVal= 1;
else if (x > y) retVal= 1;
else retVal = -1; // <- this was missing in version 1
return retVal;
}
和 :
$(document).ready(function() {
$('#classement').dataTable({
"aoColumns": [
null,
null,
{ "type" : "mystring" },
{ "type" : "mystring" },
null
]
} );
} );
| N° | Edit | Song | Singer | Url |
使用仅对歌曲和歌手进行排序之类的表格。
空单元格位于底部(如预期的那样),但现在排序没有逻辑(没有字母顺序,我应该在 dataTable 中使用另一个属性吗?)。
有没有人有办法解决吗?
编辑:如果我们动态添加一行,如何刷新排序?
$("#example").find('tbody')
.append($('<tr>')
.append($('<td>')
.text('Boro')
)
);