Sort Contents of Table
09.06.2009, 15:28 | |
JavaScript, чтобы отсортировать содержание таблицы. ----------------------------------------------------------------- Пример использования скрипта: ----------------------------------------------------------------- Код скрипта: Вставьте следующий код между тегами <BODY> </BODY> <form name='form1'> <TABLE ID=TAB1 border=1><CAPTION>TABLE-1</CAPTION> <THEAD> <TH><a href="javascript:sortTable('TAB1', 0, true, false,false,true)">HEADING1</a></TH> <TH><a href="javascript:sortTable('TAB1', 1, true, false,false,true)">HEADING2</a></TH> <TH><a href="javascript:sortTable('TAB1', 2, true, true, false,true)">HEADING3</a></TH> <TH><a href="javascript:sortTable('TAB1', 3, true, true, false,true)">HEADING4</a></TH> </THEAD> <TBODY id='body1'> <TR><TD>ww</TD><TD>xx</TD><TD>23</TD><TD>44</TD></TR> <TR><TD>11</TD><TD>ee</TD><TD>13</TD><TD>34</TD></TR> <TR><TD>hh</TD><TD>bb</TD><TD>43</TD><TD>24</TD></TR> <TR><TD>aa</TD><TD>qq</TD><TD>33</TD><TD>14</TD></TR> <TR><TD colspan=3>Total</TD><TD>116</TD></TR> </TBODY> </TABLE> <script> function sortTable(tgtTable, onCol, hasHeading, asNumber, Descending, skipLastRow) { tgtTable = document.getElementById(tgtTable); if(!onCol) onCol=0; if(skipLastRow) skipLastRow = 1; else skipLastRow = 0; var i=0; if(hasHeading) i=1; var nRows = tgtTable.rows.length; var t, ele1, ele2; for(; i < nRows-1-skipLastRow; i++) { t=i; for(var j=i+1; j < nRows-skipLastRow; j++) { ele1 = tgtTable.rows[j].cells[onCol].innerText; ele2 = tgtTable.rows[t].cells[onCol].innerText; if(asNumber) { ele1 = parseFloat(ele1); ele2 = parseFloat(ele2); } if(!Descending && ele1 < ele2) t=j; else if(Descending && ele1 > ele2) t=j; } tgtTable.tBodies[0].insertBefore(tgtTable.rows[t], tgtTable.rows[i]); } } </script> </form> | |
| |
Просмотров: 363 | Загрузок: 0 | |
Всего комментариев: 0 | |