이 기사에서는 JS 헤더 정렬의 구현 방법에 대해 설명합니다. 참조를 위해 공유하십시오.
특정 구현 방법은 다음과 같습니다.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
// 정렬할지 여부
var isdescending = true;
/*************************************************************
* 정렬 할 행은 <tbody> </tbody> 태그에 배치해야합니다.
* tableID : 테이블 ID를 정렬하십시오
* Colno : 정렬 된 열 번호, 즉 열이 0부터 시작됩니다.
* Startrowno : 0부터 시작하여 정렬 된 출발 선 번호
* Sortlength : 정렬 할 행의 수,
* 유형 : 정렬 열의 유형
*/
기능 정렬 (TableID, Colno, Startrowno, Sortlength, Type)
{
// 정렬 할 행의 수가 1 또는 0이면 정렬 작업이 수행되지 않습니다.
if (sortlength <= 1) {
반품;
}
var currtable = document.getElementById (tableID);
var theheader = currtable.outerhtml.substring (0, currtable.outerhtml.indexof ( '<tbody>')+7)
var thefooter = currtable.outerhtml.substring (currtable.outerhtml.indexof ( '</tbody>') -8);
// 여기서 행의 수는 헤더 테이블과 테이블 행을 제거하는 행 수입니다.
var therows = 새로운 배열 (Sortlength);
// 테이블에서 데이터를 축소합니다
for (i = Startrowno; i <sortlength+Startrowno; i ++)
{
Therows [i-startrowno] = new Array (currtable.rows [i] .Cells [colno] .innerText.TolowerCase (), currtable.rows [i] .outerhtml);
}
if (type.toupperCase () == '번호')
{
therows.sort (비교);
}
else if (type.toupperCase () == '날짜')
therows.sort (비교);
else if (type.toupperCase () == 'String')
therows.sort (비교);
var tableInfo = ''
for (j = 0; j <therows.length; j ++)
{
tableInfo+= therows [j] [1];
}
isdescending =! isdescending;
currtable.outerhtml = theheader + tableInfo + thefooter;
반품 ;
}
// 숫자를 비교합니다
기능 비교 (X, Y)
{
// 통화 형식 데이터를 변환합니다
a = x [0] .excludechars ( ","). trim ();
b = y [0] .excludechars ( ","). trim ();
if (a == "") {a = 0;}
if (b == "") {b = 0;}
if (isdescending)
{
Parsefloat (b) - parsefloat (a);
}
또 다른
{
parsefloat (a) - parsefloat (b);
}
}
// 문자열 비교
기능 비교 (x, y)
{
if (isdescending)
{
if (x [0]> y [0]) -1;
그렇지 않으면 (x [0] <y [0]) 반환 1;
그렇지 않으면 0;
}
또 다른
{
if (x [0] <y [0]) -1;
else if (x [0]> y [0] return 1;
그렇지 않으면 0;
}
}
// 시간 비교
함수 비교 (x, y) {
var arr = x [0] .split ( "-");
var starttime = 새 날짜 (ARR [0], ARR [1], ARR [2]);
var startTimes = startTime.getTime ();
var arrrs = y [0] .split ( "-");
var lktime = 새 날짜 (arrs [0], arr [1], arr [2]);
var lktimes = lktime.gettime ();
if (isdescending)
{
반환 lktimes -StartTimes;
}
또 다른
{
Return startTimes -lktimes;
}
}
// 문자열에서 지정된 모든 문자열을 제거합니다
String.prototype.excludechars = function (chars) {
var matching = new regexp (chars, "g");
replay.replace (일치하는 '');
}
</스크립트>
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.