해당 열에 sType : "my-num-html"로 정의 된 사용자 지정 정렬 코드가 있습니다.datatables 사용자 지정 정렬 (사전 활성화 만)
내 열 데이터는 다음과 같이이다 :
- AB 332
- 등 기본적으로 BC 664
- CD 325
- KF 576
그리고 주문 :
- CD 325
- BC 그것은 완전히 문자를 무시 664
... 나는이 편지를 무시하지 만들려고 노력하고있어 576
가 그럼 난 "dataTables.naturalSort.js"에 확장 한
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"my-num-html-pre": function (a) {
console.log("my-num-html pre");
var x = String(a).replace(/<[\s\S]*?>/g, "");
console.log("nh: " + x);
return x;
},
"my-num-html-asc": function (a, b) {
console.log("my-num-html asc");
return naturalSort(a, b); //((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"my-num-html-desc": function (a, b) {
console.log("my-num-html desc");
return naturalSort(a, b) * -1; //((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
문제는 ... 사전 인쇄 문자를 무시해서는 안되며 오름차순/내림차순 기능을 인쇄해야한다는 것입니다 내 로그의 열 (console.log 사용).
페이지가로드되면 "사전"로드되지 않습니다.
열 머리글을 클릭하면 : 미리로드되지만 그게 잘못된 순서입니다.
다시 클릭하면 사전로드가 다시로드되지만 잘못된 순서가 적용됩니다.
"asc"및 "desc"로그는 절대로 인쇄되지 않습니다.
EDIT :: AJAX "fnserverdata"가 사용되고 있으며 호출 될 때마다 주문이 AJAX 데이터로 다시 설정됩니다.