id   name birthday
3    aaa   98-08-08
1    ccc   88-09-9
2    bbb   66-66-66
这是一个表格,用JS做,点击id字段即可以按id的大小排序,求高手,,网上下的很大规模,看不明白,谢谢合作

解决方案 »

  1.   

    纯js的话我做从开发到测试完毕大概三个小时可以搞定,这个是放在个table里面吧?慢慢比较tr,td好了,嘿嘿
      

  2.   

    Jquery tablesorter,table排序
      

  3.   

    vat tableData=[[3, 'aaa','98-08-08']
                    ,[1, 'ccc', '88-09-9']
                    ,[2, 'bbb', '66-66-66']];吧上面这个数组先生成TABLE会不会会的话 剩下的 就是 排序 tableData然后刷新 已经生成的数组的对应的各列要注意 反过来也一样
    如果没有数组只有table 则先从table的各行生成数组 然后在继续上面的操作
      

  4.   

    不会,求个完整的程序,今天考官真的难住我了,我晕了,感觉专业的JS工程师水平,我现在就差在JS上了,其它的都不错还
      

  5.   

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title></head>
    <body>
    <table id='sort' width="600" border="1" cellspacing="0" cellpadding="0">
    <thead>
    <tr >
    <td onclick='s(this)' width='200'>id</td>
    <td>name</td>
    <td>vvv</td>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>3</td>
    <td>aaaaaaaaaaaa;</td>
    <td>xxxxxxxxxx</td>
    </tr>
    <tr>
    <td>1</td>
    <td>bbbbbbb;</td>
    <td>yyyyyyyyyyy</td>
    </tr>
    <tr>
    <td>2</td>
    <td>cccccccccccccc;</td>
    <td>zzzzzzz</td>
    </tr>
    </tbody>
    </table><script type="text/javascript">
    (function(doc){
    var tbody= doc.getElementById('sort').getElementsByTagName('tbody')[0]
    trs  = tbody.getElementsByTagName('tr'),
    frag = doc.createDocumentFragment(),
    arr  = [];
    this.s = function(td){
    var str = td.innerHTML;
    for(var i=0,l=trs.length;i<l;i++)
    arr.push(trs[i]);
    td.sort === 't'
    ? (arr.reverse(),
    td.innerHTML =str.replace(/.$/,str.charAt(str.length-1)=="↓"?"↑":"↓") )
    : arr.sort(function(td1,td2){
    td1 = ~~td1.cells[0].innerHTML;
    td2 = ~~td2.cells[0].innerHTML;
    td.sort = 't';
    td.innerHTML = str+'↑';
    return td1==td2?0:td1<td2?-1:1; 
    })
            for(i=0;i<l;i++)
                frag.appendChild(arr[i]);
            tbody.appendChild(frag);
    }
    })(document);
    </script>
    </body>
    </html>