Artikel ini menjelaskan metode implementasi penyortiran header JS. Bagikan untuk referensi Anda.
Metode implementasi spesifik adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
// apakah akan memilah
var isDescending = true;
/********************************************************
* Baris yang akan diurutkan harus ditempatkan di tag <tBody> </tbody>
* TABLEID: Urutkan ID tabel
* colno: nomor kolom yang diurutkan, yaitu kolom mana, dimulai dari 0
* startrowno: Jumlah garis awal diurutkan, mulai dari 0
* SortLength: Jumlah baris untuk disortir,
* Ketik: Jenis kolom penyortiran
*/
Fungsi Sort (TableID, Colno, StarTrowno, SortLength, Type)
{
// Jika jumlah baris yang akan diurutkan adalah 1 atau 0, maka tidak ada operasi penyortiran yang dilakukan
if (sortLength <= 1) {
kembali;
}
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);
// Jumlah baris di sini adalah jumlah baris yang menghapus tabel header dan baris tabel.
var therows = array baru (sortLength);
// runtuh data dalam tabel
untuk (i = startrowno; i <sortlength+startrowno; i ++)
{
Therows [i-startrowno] = array baru (Currtable.rows [i] .cells [colno] .innerText.TolowerCase (), CurrTable.rows [i] .OUTERHTML);
}
if (type.touppercase () == 'nomor')
{
therows.sort (compareNumber);
}
lain jika (type.touppercase () == 'date')
therows.sort (dibandingkan);
lain jika (type.touppercase () == 'string')
therows.sort (perbandingan);
var tableInfo = ''
untuk (j = 0; j <therows.length; j ++)
{
TableInfo+= Therows [j] [1];
}
isDescending =! isDescending;
Currtable.outerHtml = TheHeader + TableInfo + theFooter;
kembali ;
}
// Bandingkan angka
Function CompareNumber (x, y)
{
// Konversi data format mata uang
a = x [0] .exludechars (","). trim ();
b = y [0] .exludechars (","). trim ();
if (a == "") {a = 0;}
if (b == "") {b = 0;}
if (isDescending)
{
mengembalikan parsefloat (b) - parsefloat (a);
}
kalau tidak
{
return parsefloat (a) - parsefloat (b);
}
}
// Bandingkan string
function comparestring (x, y)
{
if (isDescending)
{
if (x [0]> y [0]) return -1;
lain jika (x [0] <y [0]) kembali 1;
lain kembali 0;
}
kalau tidak
{
if (x [0] <y [0]) return -1;
lain jika (x [0]> y [0]) kembali 1;
lain kembali 0;
}
}
// Bandingkan waktu
fungsi dibandingkan (x, y) {
var arr = x [0] .split ("-");
var startTime = Tanggal baru (ARR [0], ARR [1], ARR [2]);
var startTimes = startTime.getTime ();
var arrrs = y [0] .split ("-");
var lktime = tanggal baru (arrs [0], arrs [1], arrs [2]);
var lktimes = lktime.getTime ();
if (isDescending)
{
Return LKTimes - StartTimes;
}
kalau tidak
{
Kembalikan waktu mulai - LKTimes;
}
}
// Hapus semua string yang ditentukan dalam string
String.prototype.excludechars = function (chars) {
var pencocokan = regexp baru (chars, "g");
kembalikan ini.replace (pencocokan, '');
}
</script>
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.