2016-07-30 84 views
1

我想排序下面的表,但同时我不希望编号列移动,而应该保持固定,而其他列移动。我应该怎么办呢排序表,但使一列不移动

$(document).ready(function() { 
 
    $("#myTable").tablesorter({ 
 
     // pass the headers argument and assing a object 
 
     headers: { 
 
      // assign the first column not to sort 
 
      
 
      0: { 
 
       // disable it by setting the property sorter to false 
 
       sorter: false 
 
      }, 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/js/jquery.tablesorter.min.js"></script> 
 
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/css/theme.blue.min.css' type='text/css' /> 
 
<table id='myTable' cellspacing="1" class="tablesorter-blue">    
 
    <thead> 
 
     <tr> 
 
      <th>#</th> 
 
      <th>last name</th> 
 
      <th>age</th> 
 
      <th>total</th> 
 
      <th>discount</th> 
 
      <th>date</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>1</td> 
 
      <td>parker</td> 
 
      <td>28</td> 
 
      <td>$9.99</td> 
 
      <td>20%</td> 
 
      <td>jul 6, 2006 8:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>2</td> 
 
      <td>hood</td> 
 
      <td>33</td> 
 
      <td>$19.99</td> 
 
      <td>25%</td> 
 
      <td>dec 10, 2002 5:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>3</td> 
 
      <td>kent</td> 
 
      <td>18</td> 
 
      <td>$15.89</td> 
 
      <td>44%</td> 
 
      <td>jan 12, 2003 11:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>4</td> 
 
      <td>almighty</td> 
 
      <td>45</td> 
 
      <td>$153.19</td> 
 
      <td>44%</td> 
 
      <td>jan 18, 2001 9:12 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>5</td> 
 
      <td>evans</td> 
 
      <td>22</td> 
 
      <td>$13.19</td> 
 
      <td>11%</td> 
 
      <td>jan 18, 2007 9:12 am</td> 
 
     </tr> 
 
    </tbody> 
 
</table>

+0

重复http://stackoverflow.com/questions/18763027/jquery-tablesorter-index-column-insert – Mottie

+0

@Mottie你是对与对系统提供的答案,但方式等问题有人问,有人可能不了解。问题只是添加一个索引,但没有说它必须保持固定。 –

回答

1

您可以绑定到sortEnd事件和简单的写新的文本第一列的任何想法。

下面的代码利用该

  • jQuery的.text()接受一个回调函数计算并传回新的文本为每一个匹配元素的事实(http://api.jquery.com/text/
  • 这个回调函数接收的(零基于)元素索引作为第一个参数,这样就不需要保持一个独立的计数器变量

$(function() { 
 
    $("#myTable").tablesorter({ 
 
     headers: { 
 
      0: { 
 
       sorter: false 
 
      }, 
 
     } 
 
    }).on("sortEnd", function() { 
 
     $(this).find('tbody td:first-child').text(function (i) { 
 
      return i + 1; 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/js/jquery.tablesorter.min.js"></script> 
 
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/css/theme.blue.min.css' type='text/css' /> 
 
<table id='myTable' cellspacing="1" class="tablesorter-blue">    
 
    <thead> 
 
     <tr> 
 
      <th>#</th> 
 
      <th>last name</th> 
 
      <th>age</th> 
 
      <th>total</th> 
 
      <th>discount</th> 
 
      <th>date</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>1</td> 
 
      <td>parker</td> 
 
      <td>28</td> 
 
      <td>$9.99</td> 
 
      <td>20%</td> 
 
      <td>jul 6, 2006 8:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>2</td> 
 
      <td>hood</td> 
 
      <td>33</td> 
 
      <td>$19.99</td> 
 
      <td>25%</td> 
 
      <td>dec 10, 2002 5:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>3</td> 
 
      <td>kent</td> 
 
      <td>18</td> 
 
      <td>$15.89</td> 
 
      <td>44%</td> 
 
      <td>jan 12, 2003 11:14 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>4</td> 
 
      <td>almighty</td> 
 
      <td>45</td> 
 
      <td>$153.19</td> 
 
      <td>44%</td> 
 
      <td>jan 18, 2001 9:12 am</td> 
 
     </tr> 
 
     <tr> 
 
      <td>5</td> 
 
      <td>evans</td> 
 
      <td>22</td> 
 
      <td>$13.19</td> 
 
      <td>11%</td> 
 
      <td>jan 18, 2007 9:12 am</td> 
 
     </tr> 
 
    </tbody> 
 
</table>

相关问题