Este artículo describe el método de implementación de la clasificación del encabezado JS. Compártelo para su referencia.
El método de implementación específico es el siguiente:
La copia del código es la siguiente:
<script type = "text/javaScript">
// si ordenar
var isDescending = true;
/********************************************************************
* Las filas a ordenar deben colocarse en la etiqueta <tbody> </tbody>
* TABLEID: ID de tabla de clasificación
* Colno: el número de columna ordenada, es decir, qué columna, comienza desde 0
* StarTrowo: el número de línea de inicio de ordenado, a partir de 0
* SortLength: el número de filas para clasificar,
* Tipo: el tipo de la columna de clasificación
*/
Function Sort (TableID, Colno, StarTrowo, SortLength, Type)
{
// Si el número de filas a ordenar es 1 o 0, entonces no se realiza una operación de clasificación
if (sortLength <= 1) {
devolver;
}
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);
// El número de filas aquí es el número de filas que eliminan la tabla de encabezado y las filas de la tabla.
var therows = new Array (sortLength);
// colapsar los datos en la tabla
para (i = starTrowo; i <sortLength+StarTrowno; i ++)
{
hay [i-startrowno] = new array (currtable.rows [i] .cells [colno] .inntext.tolowercase (), currtable.rows [i] .outerhtml);
}
if (type.touppercase () == 'número')
{
Therows.sort (CompareNumber);
}
else if (type.touppercase () == 'date')
hay.sort (comparado);
else if (type.touppercase () == 'string')
hay.sort (comparación);
var tableInfo = ''
para (j = 0; j <therows.length; j ++)
{
tableinfo+= therows [j] [1];
}
isDescending =! IsDescending;
currtable.outerhtml = Theheader + tableInfo + thefooter;
devolver ;
}
// Comparar números
Función CompareNumber (x, y)
{
// Convertir datos de formato de moneda
a = x [0] .excludeChars (","). Trim ();
b = y [0] .ExCludeChars (","). Trim ();
if (a == "") {a = 0;}
if (b == "") {b = 0;}
if (isDescending)
{
return parsefloat (b) - parsefloat (a);
}
demás
{
return parsefloat (a) - parsefloat (b);
}
}
// Comparar cadenas
Comparación de funciones (x, y)
{
if (isDescending)
{
if (x [0]> y [0]) return -1;
else if (x [0] <y [0]) return 1;
else regrese 0;
}
demás
{
if (x [0] <y [0]) return -1;
else if (x [0]> y [0]) return 1;
else regrese 0;
}
}
// Compare el tiempo
función comparada (x, y) {
var arr = x [0] .split ("-");
var starttime = new Date (arr [0], arr [1], arr [2]);
var startTimes = starttime.gettime ();
var arrrs = y [0] .split ("-");
var lktime = nueva fecha (arrs [0], arrs [1], arrs [2]);
var lkTimes = lktime.gettime ();
if (isDescending)
{
regreso lktimes - starttimes;
}
demás
{
Return Start Times - LKTimes;
}
}
// Eliminar todas las cadenas especificadas en la cadena
String.prototype.excludechars = function (chars) {
var coincida = nuevo regexp (chars, "g");
devuelve this.replace (coincidencia, '');
}
</script>
Espero que este artículo sea útil para la programación de JavaScript de todos.