午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    javascript實(shí)現(xiàn)多列table排序
    來源:易賢網(wǎng) 閱讀:2326 次 日期:2014-08-15 17:03:04
    溫馨提示:易賢網(wǎng)小編為您整理了“javascript實(shí)現(xiàn)多列table排序”,方便廣大網(wǎng)友查閱!

    通過javascript的localeCompare來進(jìn)行排序判斷判斷,這里舉例是對1列的table進(jìn)行排序.

    查看效果:javascript實(shí)現(xiàn)table多列排序,列是不通的數(shù)據(jù)類型,通過轉(zhuǎn)換后的數(shù)據(jù)類型再次排列

    建立方法管理容器

    var forasp = new Object;

    首先看類型轉(zhuǎn)換函數(shù)

    forasp.conver =function(oValue,oDatetype)

    {switch(oDatetype){

    case "int":

    return parseInt(oValue);

    case "float":

    return parseFloat(oValue);

    case "date":

    return new Date(Date.parse(oValue));

    default:

    return oValue.toString();

    }

    }

    再看比較函數(shù)

    forasp.bijiao = function(TRi,oDatetype)//在這里解釋一下,TRi是第幾列如果是第一列則為0,第二列則為1,返回的結(jié)果也是一個(gè)函數(shù),因?yàn)樵谂判蚝瘮?shù)中sort()里面是一個(gè)函數(shù).

    {

    return function compare(oTR1,oTR2)

    {

    var s1 = forasp.conver(oTR1.cells[TRi].firstChild.nodeValue,oDatetype);//通過TRi傳過來列索引號的內(nèi)容

    var s2 = forasp.conver(oTR2.cells[TRi].firstChild.nodeValue,oDatetype);//并通過轉(zhuǎn)換函數(shù)將列的值進(jìn)行轉(zhuǎn)換

    if (s1<s2)//轉(zhuǎn)為相同的數(shù)據(jù)類型后比較.

    {return -1;}

    else if(s1>s2)

    {return 1;}

    else

    {return 0;}

    }

    }

    調(diào)用比較函數(shù)

    forasp.sortTable = function(id,TRi,oDatetype)

    {

    var oTable = document.getElementById(id);//獲取以id為id的table對象---

    var oTbody = oTable.tBodies[0];//獲取第一個(gè)tBody

    var oRows = oTbody.rows;//獲取tBody的所有的行

    var aTRs = new Array;//新建一個(gè)數(shù)組

    for (var i=0;i < oRows.length ;i++ )

    {

    aTRs[i] = oRows[i];//循環(huán)將所有行換到新的數(shù)組

    }

    //在這里多一個(gè)功能就是翻轉(zhuǎn),當(dāng)多次點(diǎn)擊,都進(jìn)行翻轉(zhuǎn)即可,在這里給表的對象設(shè)置一個(gè)屬性nowlie

    if(oTable.nowlie!=TRi)//如果不是當(dāng)前列

    {

    aTRs.sort(forasp.bijiao(TRi,oDatetype));//對數(shù)組進(jìn)行比較,是通過新的數(shù)組的行比較===

    }

    else

    {

    aTRs.revers();

    }

    var otemp = document.createDocumentFragment();//創(chuàng)建文檔碎片

    for (var i = 0;i<aTRs.length ;i++ )

    {

    otemp.appendChild(aTRs[i]);//分別將每行加入到文檔碎片中

    }

    oTbody.appendChild(otemp);//將文檔碎片添加到文檔中

    oTable.nowlie = TRi;//設(shè)置nowlie屬性

    }

    -->

    接下來是頁面代碼

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML>

    <HEAD>

    <TITLE>javascript獲取按鍵值-網(wǎng)站制作學(xué)習(xí)網(wǎng)</TITLE>

    在這里插入代碼

    </HEAD>

    <BODY>

    <table id="forasp_cn" >

    <thead>

    <tr>

    <th onclick = "forasp.sortTable('forasp_cn',0);">字符排序</th>

    <th onclick = "forasp.sortTable('forasp_cn',1,'int');">數(shù)字排序</th>

    <th onclick = "forasp.sortTable('forasp_cn',2,'float');">小樹排序</th>

    <th onclick = "forasp.sortTable('forasp_cn',3,'date');">日期排序</th>

    </tr>

    </thead>

    <tbody>

    <tr><td>w</td><td>1</td><td>1.01</td><td>6/9/1999</td></tr>

    <tr><td>w</td><td>3</td><td>3.25</td><td>12/25/2010</td></tr>

    <tr><td>w</td><td>2</td><td>2.18</td><td>10/9/2008</td></tr>

    <tr><td>f</td><td>36</td><td>2.99</td><td>9/12/1985</td></tr>

    <tr><td>a</td><td>65</td><td>3.12</td><td>3/9/2010</td></tr>

    <tr><td>s</td><td>22</td><td>10.3</td><td>4/2/2009</td></tr>

    <tr><td>p</td><td>12</td><td>4.5</td><td>9/17/2011</td></tr>

    <tr><td>dian</td><td>31</td><td>2.33</td><td>3/3/2007</td></tr>

    <tr><td>c</td><td>33</td><td>9.68</td><td>6/4/2010</td></tr>

    <tr><td>n</td><td>21</td><td>5.69</td><td>9/17/2009</td></tr>

    </tbody>

    </BODY>

    </HTML>

    完畢,看看你懂了么,這是通過javascript的localepare對table內(nèi)容進(jìn)行排序,

    更多信息請查看IT技術(shù)專欄

    更多信息請查看腳本欄目
    上一篇:window對象屬性
    易賢網(wǎng)手機(jī)網(wǎng)站地址:javascript實(shí)現(xiàn)多列table排序
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)