国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:51:52
文檔

實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能

實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能:這次給大家?guī)韺崿F(xiàn)帶分組數(shù)據(jù)Table表頭排序功能,實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。如下圖:要求:點擊表頭排序時,"分組"及"分組明細"的數(shù)據(jù)層次關系不變從網(wǎng)上找了一段常規(guī)的tab
推薦度:
導讀實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能:這次給大家?guī)韺崿F(xiàn)帶分組數(shù)據(jù)Table表頭排序功能,實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。如下圖:要求:點擊表頭排序時,"分組"及"分組明細"的數(shù)據(jù)層次關系不變從網(wǎng)上找了一段常規(guī)的tab
這次給大家?guī)韺崿F(xiàn)帶分組數(shù)據(jù)Table表頭排序功能,實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

如下圖:

要求:點擊表頭排序時,"分組"及"分組明細"的數(shù)據(jù)層次關系不變

從網(wǎng)上找了一段常規(guī)的table排序,改了改,以滿足“分組支持”,貼在這里備份

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 <style type="text/css">
 .tbl-list, .tbl-list td, .tbl-list th {
 border: solid 1px #000;
 border-collapse: collapse;
 padding: 10px;
 margin: 15px;
 }
 </style>
 <script type="text/javascript" src="jquery.min.js"></script>
 <title>table sort</title>
 <script type="text/javascript">
 //排序 tableId: 表的id,iCol:第幾列 ;dataType:iCol對應的列顯示數(shù)據(jù)的數(shù)據(jù)類型
 function sortAble(th, tableId, iCol, dataType) {
 var ascChar = "▲";
 var descChar = "▼";
 var table = document.getElementById(tableId);
 //排序標題加背景色
 for (var t = 0; t < table.tHead.rows[0].cells.length; t++) {
 var th = $(table.tHead.rows[0].cells[t]);
 var thText = th.html().replace(ascChar, "").replace(descChar, "");
 if (t == iCol) {
 th.css("background-color", "#ccc");
 }
 else {
 th.css("background-color", "#fff");
 th.html(thText);
 }
 }
 var tbody = table.tBodies[0];
 var colRows = tbody.rows;
 var aTrs = new Array;
 //將得到的行放入數(shù)組,備用
 for (var i = 0; i < colRows.length; i++) {
 //注:如果要求“分組明細不參與排序”,把下面的注釋去掉即可
 //if ($(colRows[i]).attr("group") != undefined) {
 aTrs.push(colRows[i]);
 //}
 }
 //判斷上一次排列的列和現(xiàn)在需要排列的是否同一個。
 var thCol = $(table.tHead.rows[0].cells[iCol]);
 if (table.sortCol == iCol) {
 aTrs.reverse();
 } else {
 //如果不是同一列,使用數(shù)組的sort方法,傳進排序函數(shù)
 aTrs.sort(compareEle(iCol, dataType));
 }
 var oFragment = document.createDocumentFragment();
 for (var i = 0; i < aTrs.length; i++) {
 oFragment.appendChild(aTrs[i]);
 }
 tbody.appendChild(oFragment);
 //記錄最后一次排序的列索引
 table.sortCol = iCol;
 //給排序標題加“升序、降序” 小圖標顯示
 var th = $(table.tHead.rows[0].cells[iCol]);
 if (th.html().indexOf(ascChar) == -1 && th.html().indexOf(descChar) == -1) {
 th.html(th.html() + ascChar);
 }
 else if (th.html().indexOf(ascChar) != -1) {
 th.html(th.html().replace(ascChar, descChar));
 }
 else if (th.html().indexOf(descChar) != -1) {
 th.html(th.html().replace(descChar, ascChar));
 }
 //重新整理分組
 var subRows = $("#" + tableId + " tr[parent]");
 for (var t = subRows.length - 1; t >= 0 ; t--) {
 var parent = $("#" + tableId + " tr[group='" + $(subRows[t]).attr("parent") + "']");
 parent.after($(subRows[t]));
 }
 }
 //將列的類型轉化成相應的可以排列的數(shù)據(jù)類型
 function convert(sValue, dataType) {
 switch (dataType) {
 case "int":
 return parseInt(sValue, 10);
 case "float":
 return parseFloat(sValue);
 case "date":
 return new Date(Date.parse(sValue));
 case "string":
 default:
 return sValue.toString();
 }
 }
 //排序函數(shù),iCol表示列索引,dataType表示該列的數(shù)據(jù)類型
 function compareEle(iCol, dataType) {
 return function (oTR1, oTR2) {
 var vValue1 = convert(removeHtmlTag($(oTR1.cells[iCol]).html()), dataType);
 var vValue2 = convert(removeHtmlTag($(oTR2.cells[iCol]).html()), dataType);
 if (vValue1 < vValue2) {
 return -1;
 }
 else {
 return 1;
 }
 };
 }
 //去掉html標簽
 function removeHtmlTag(html) {
 return html.replace(/<[^>]+>/g, "");
 }
 //jQuery加載完以后,分組行高亮背景,分組明細隱藏
 $(document).ready(function () {
 $("tr[group]").css("background-color", "#ff9");
 $("tr[parent]").hide();
 });
 //點擊分組行時,切換分組明細的顯示/隱藏
 function showSub(a) {
 var groupValue = $(a).parent().parent().attr("group");
 var subDetails = $("tr[parent='" + groupValue + "']");
 subDetails.toggle();
 }
 </script>
</head>
<body>
 <table id="tableId" class="tbl-list" cellpadding="0" cellspacing="0">
 <thead>
 <tr>
 <th>序號</th>
 <th onclick="sortAble(this,'tableId', 1,'string')"
 style="cursor:pointer">姓名</th>
 <th onclick="sortAble(this,'tableId', 2, 'date')"
 style="cursor:pointer">生日</th>
 <th onclick="sortAble(this,'tableId', 3, 'int')"
 style="cursor:pointer">年齡</th>
 <th onclick="sortAble(this,'tableId', 4, 'float')"
 style="cursor:pointer">工資</th>
 </tr>
 </thead>
 <tbody>
 <tr group="A">
 <td>1</td>
 <td><a href="#" onclick="showSub(this)">Group-A</a></td>
 <td>01/12/1982</td>
 <td>25</td>
 <td>1000.50</td>
 </tr>
 <tr parent="A">
 <td>2</td>
 <td>A-01</td>
 <td>01/09/1982</td>
 <td>25</td>
 <td>2000.10</td>
 </tr>
 <tr parent="A">
 <td>3</td>
 <td>A-02</td>
 <td>01/10/1982</td>
 <td>26</td>
 <td>2000.20</td>
 </tr>
 <tr group="B">
 <td>4</td>
 <td><a href="#" onclick="showSub(this)">Group-B</a></td>
 <td>10/14/1999</td>
 <td>18</td>
 <td>1000.20</td>
 </tr>
 <tr parent="B">
 <td>5</td>
 <td>B-01</td>
 <td>02/12/1982</td>
 <td>19</td>
 <td>3000.20</td>
 </tr>
 <tr parent="B">
 <td>6</td>
 <td>B-02</td>
 <td>03/12/1982</td>
 <td>20</td>
 <td>3000.30</td>
 </tr>
 <tr group="C">
 <td>7</td>
 <td><a href="#" onclick="showSub(this)">Group-C</a></td>
 <td>10/14/1980</td>
 <td>8</td>
 <td>1000.30</td>
 </tr>
 <tr parent="C">
 <td>8</td>
 <td>C-01</td>
 <td>03/12/1981</td>
 <td>17</td>
 <td>3100.30</td>
 </tr>
 </tbody>
 </table>
</body>
</html>

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關注Gxl網(wǎng)其它相關文章!

推薦閱讀:

jQuery仿支付寶首頁焦點圖效果

JS點擊小圖片關聯(lián)顯示大圖片

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能

實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能:這次給大家?guī)韺崿F(xiàn)帶分組數(shù)據(jù)Table表頭排序功能,實現(xiàn)帶分組數(shù)據(jù)Table表頭排序功能的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。如下圖:要求:點擊表頭排序時,"分組"及"分組明細"的數(shù)據(jù)層次關系不變從網(wǎng)上找了一段常規(guī)的tab
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产午夜视频在线观看 | 国产a级网站 | 九九久久国产 | 日本成人一级 | 国产精品高清久久久久久久 | 美女视频黄a视频全免费应用 | 欧美专区日韩 | 国产最新精品视频 | 在线观看视频国产 | 在线精品国产一区二区 | 在线免费观看国产精品 | 亚洲欧美日韩第一页 | 欧洲精品一区二区三区 | 欧美日韩国产另类一区二区三区 | 日韩欧美网站 | 欧美系列在线 | 欧美日韩在线亚洲国产人 | 国产精品视频久久久 | 极品美女一区二区三区 | 亚洲伊人国产 | 亚洲婷婷在线视频 | 免费看成人国产一区二区三区 | 国产精品不卡在线 | 国产精品三级一区二区 | 99久久精品国产一区二区成人 | 精品72久久久久久久中文字幕 | 91系列在线观看免费 | 四虎影院永久免费观看 | 在线国产日韩 | 欧美喷水 | 欧美日韩国产精品va | 亚洲精品美女久久久aaa | 伊人久久精品成人网 | 久久精品福利 | 国产亚洲婷婷香蕉久久精品 | 国产精品久久久久久久久鸭 | 午夜视频在线观看国产 | 日本a黄| 国产高清在线免费视频 | 国产精品高清一区二区三区 | 在线观看日韩欧美 |