Jeg vil gerne have mulighed for at kunne klikke på henholdsvis [ID], [Produkt] og [Pris], hvorefter tabellen bliver sorteret ud fra valget.
Desuden kunne det være rart, at scriptet både kunne håndterer sorteringen stigende eller faldende evt. afhængig af om man har trykket på linket før, men det er sekundært.
/*---------------------------------------------------------------------------- f_sort: Performs a client side sort of the contents of a HTML Table.
args: ao_table, The object reference to the table to be sorted. ai_sortcol, The zero based column number to be sorted. ab_header, Bool to indicate if the table have a header row to be ignored.
vars: lastcol, used to store the last column sorted. lastseq, used to store the sequence the last column was sorted by. ----------------------------------------------------------------------------*/ var lastcol, lastseq; function f_sort( ao_table, ai_sortcol, ab_header ) { var ir, ic, is, ii, id;
ir = ao_table.rows.length; if( ir < 1 ) return;
ic = ao_table.rows[1].cells.length; // if we have a header row, ignore the first row if( ab_header == true ) is=1; else is=0;
// take a copy of the data to shuffle in memory var row_data = new Array( ir ); ii=0; for( i=is; i < ir; i++ ) { var col_data = new Array( ic ); for( j=0; j < ic; j++ ) { col_data[j] = ao_table.rows[i].cells[j].innerText; } row_data[ ii++ ] = col_data; }
// sort the data var bswap = false; var row1, row2;
/*---------------------------------------------------------------------------- f_sort: Performs a client side sort of the contents of a HTML Table.
args: ao_table, The object reference to the table to be sorted. ai_sortcol, The zero based column number to be sorted. ab_header, Bool to indicate if the table have a header row to be ignored.
vars: lastcol, used to store the last column sorted. lastseq, used to store the sequence the last column was sorted by. ----------------------------------------------------------------------------*/ var lastcol, lastseq; function f_sort( ao_table, ai_sortcol, ab_header ) { var ir, ic, is, ii, id;
ir = ao_table.rows.length; if( ir < 1 ) return;
ic = ao_table.rows[1].cells.length; // if we have a header row, ignore the first row if( ab_header == true ) is=1; else is=0;
// take a copy of the data to shuffle in memory var row_data = new Array( ir ); ii=0; for( i=is; i < ir; i++ ) { var col_data = new Array( ic ); for( j=0; j < ic; j++ ) { col_data[j] = ao_table.rows[i].cells[j].innerText; } row_data[ ii++ ] = col_data; }
// sort the data var bswap = false; var row1, row2;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.