1. 程式人生 > >JavaScript-表格排序

JavaScript-表格排序

排序 onload parse die () nbsp innerhtml java asc

一、知識

  appendChild():先刪除,在排序

  sort():數組排序

  parseInt(): 將字符串==》整數(數字)

!!!- HTML

  <input id="btn1" type="button" value="排序" />
  <table id="tab1" border="1" width="500">
  <thead>
    <td>ID</td>
    <td>姓名</td>
    <td>年齡</td>
    <td>操作</td>
  </thead>
  <tbody>
    <tr>
      <td>2</td>
      <td>張三</td>
      <td>23</td>
      <td></td>
    </tr>
    <tr>
      <td>6</td>
      <td>王四</td>
      <td>24</td>
      <td></td>
    </tr>
    <tr>
      <td>1</td>
      <td>Blue</td>
      <td>27</td>
      <td></td>
    </tr>
    <tr>
      <td>5</td>
      <td>張偉</td>
      <td>24</td>
      <td></td>
    </tr>
    <tr>
      <td>3</td>
      <td>李四</td>
      <td>28</td>
      <td></td>
    </tr>
    <tr>
      <td>4</td>
      <td>王五</td>
      <td>25</td>
      <td></td>
    </tr>
  </tbody>
</table>

!!! JS

window.onload=function ()
{
  var oTab=document.getElementById(‘tab1‘);
  var oBtn=document.getElementById(‘btn1‘);

  oBtn.onclick=function ()
  {
    var arr=[]; //先創建一個空數組,裏面存放的是要排序的值

    for(var i=0;i<oTab.tBodies[0].rows.length;i++)
    {
      arr[i]=oTab.tBodies[0].rows[i];        //數組得到了表格裏面的數據
    }

    arr.sort(function (tr1, tr2){          
      var n1=parseInt(tr1.cells[0].innerHTML);
      var n2=parseInt(tr2.cells[0].innerHTML);

      return n1-n2;
    });

    for(var i=0;i<arr.length;i++)
    {
      oTab.tBodies[0].appendChild(arr[i]);
    }
  };
};

JavaScript-表格排序