私はこれの問題を知っていると思いますが、適切にアプローチする方法がわからないので、ここの誰かが同様の問題を抱えていて、なんとか修正できたことを願っています。私が持っているのは、いくつかの列を持つテーブルです。これらはすべて、1つを除いてソートが行われる限り機能します。以下は、その列のスクリーンキャプチャと、作業中の並べ替えです。
ご覧のとおり、英数字ロジックに従ってソートされていません。私の仮定では、名前の中には、コンマの括弧や角かっこなどの文字が含まれているものがあります。そうは言っても、datatablesプラグインを使用してこの英数字を並べ替えることができるように、この問題にどのように取り組むのでしょうか?アイデア?
****編集****
これは私が使用しているコードであり、この1つの列以外のすべてで機能します。
jQuery.fn.dataTableExt.oSort['num-asc'] = function(a,b) {
var x = a.replace( /<.*?>/g, "" );
var y = b.replace( /<.*?>/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['num-desc'] = function(a,b) {
var x = a.replace( /<.*?>/g, "" );
var y = b.replace( /<.*?>/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
$(document).ready(function() {
$('#ledger').dataTable({
bAutoWidth: false,
bJQueryUI : true,
bProcessing: true,
bServerSide: false,
sPaginationType: "full_numbers",
bStateSave : false,
bUseRendered: false,
iDisplayLength: ${entriesValue},
sDom: mw.superadmin.datatable.relatedListDom,
aLengthMenu: mw.superadmin.datatable.relatedListLengthMenu,
aaSorting: [[0,'asc']],
aoColumns: [
null,
{ "iDataSort": 2},
{ "bVisible": false, "sType": "num"},
{ "iDataSort": 4, "bSortable": true },
{ "bVisible": false, "sType": "num"}
]
});