현재 여기에있는 JQuery Tablesorter 플러그인을 사용하고 있습니다 : http://www.tablesorter.com, 날짜와 텍스트가 모두 포함 된 열에 문제가 있습니다. 여기에 jsfiddle가있다 :혼합 데이터 열을 tablesorter로 정렬
를 첫 번째 이름 필드 제목을 클릭하면하지 않습니다 일종의 때문에 내부의 임의의 날짜가 있습니다. 텍스트 정렬을 시도했지만 작동하지 않습니다. 누구든지 아이디어가 있습니까?
현재 여기에있는 JQuery Tablesorter 플러그인을 사용하고 있습니다 : http://www.tablesorter.com, 날짜와 텍스트가 모두 포함 된 열에 문제가 있습니다. 여기에 jsfiddle가있다 :혼합 데이터 열을 tablesorter로 정렬
를 첫 번째 이름 필드 제목을 클릭하면하지 않습니다 일종의 때문에 내부의 임의의 날짜가 있습니다. 텍스트 정렬을 시도했지만 작동하지 않습니다. 누구든지 아이디어가 있습니까?
는 것 같습니다. 그래서 어느 metadata plugin를로드하거나 헤더 옵션 분류기 유형을 추가 :
$("table").tablesorter({
headers: {
0: { sorter: "text" },
4: { sorter: "percent" }
}
});
가 여기 updated demo입니다.
발견 된 답변은 그리 좋지 않지만 지금은 효과가 있습니다.
ts.addParser({
id: "shortDate",
is: function (s) {
return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);
}, format: function (s, table) {
var c = table.config;
s = s.replace(/\-/g, "/");
if (c.dateFormat == "us") {
// reformat the string in ISO format
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2");
} else if (c.dateFormat == "uk") {
// reformat the string in ISO format
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1");
} else if (c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") {
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3");
}
return $.tablesorter.formatFloat(new Date(s).getTime());
}, type: "numeric"
});
이 모두 실행에서 날짜 파서를 중지하기 때문에, 내 문제를 해결하기 위해 보인다
나는이 파서를 제거했습니다. 이것은 아마 다른 시나리오에서 문제를 일으킬 것이지만 지금은 내 페이지에서 작동하는 것 같습니다. 사람들이 가지고 있다면 나는 아직도 다른 대답에 열려 있습니다. 이 메타 데이터<th class="{sorter: 'text'}">first name</th>
그러나 메타 데이터 플러그인이 그 데모에로드되지 않았습니다를 사용하여 정렬 유형을 설정하려는처럼