2017-06-12 53 views
-1

我有一個問題與jQuery數據表(datatables.net),當我只有2中需要2次點擊的列排序表(行)(第一列排序第一次點擊,其他都是擊中和錯過,大部分是2次點擊)。 我對此進行了徹底的測試。我正在使用不影響它的JQuery UI選項卡。以下是整個html文檔。JQuery的數據表列排序

<html> 
<script type="text/javascript" src="/js/jquery-3.2.1.min.js"></script> 
<script type="text/javascript" src="/js/datatables/datatables.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#table_id').DataTable({ 

    }); 
}); 
</script> 
<body> 
<center> 
<table id="table_id" class="display" cellspacing="0" width="100%"> 
    <thead> 
      <tr> 
     <th>icon</th> 
      <th>Name</th> 
      <th>Ilvl</th> 
      <th>Req</th> 
      <th>Side</th> 
      <th>Slot</th> 
     <th>Source</td> 
     <td>Type</td> 
      </tr> 
     </thead> 
     <tfoot> 
      <tr> 
     <th>icon</th> 
      <th>Name</th> 
      <th>Ilvl</th> 
      <th>Req</th> 
      <th>Side</th> 
      <th>Slot</th> 
     <th>Source</td> 
     <td>Type</td> 
      </tr> 
     </tfoot> 
     <tbody> 
      <tr> 
       <td>253</td> 
       <td>614</td> 
       <td>E2531h</td> 
       <td>61</td> 
       <td>2011/04/25</td> 
       <td>$320,800</td> 
       <td>2011/04/25</td> 
       <td>$320,800</td> 
      </tr> 
      <tr> 
       <td>12532ett Winters</td> 
       <td>435countant</td> 
       <td>264Tokyo</td> 
       <td>23463</td> 
       <td>342011/07/25</td> 
       <td>34$170,750</td> 
       <td>2011/04/25</td> 
       <td>$320,800</td> 
      </tr> 
      <tr> 
       <td>3241Ashton Cox</td> 
       <td>145Junior Technical Author</td> 
       <td>324San Francisco</td> 
       <td>66</td> 
       <td>2009/01/12</td> 
       <td>$86,000</td> 
       <td>2011/04/25</td> 
       <td>$320,800</td> 
      </tr> 


     </tbody> 
    </table> 
</center> 
</body> 
</html> 

如果您刪除其中一行,則會出現問題。

有沒有人有一個解決方案?

+0

它工作正常,在小提琴的https:/ /jsfiddle.net/2x8L9b73/ – karthick

+0

您需要刪除第三個。請重新閱讀我的第一篇文章。它也顯示了jfiddle中的問題。 – knuxyl

+0

刪除了第三個tr,仍然正常。 https://jsfiddle.net/2x8L9b73/1/ – karthick

回答

0

由於默認的排序是升序,它的工作像它應該。很明顯,這將需要兩次點擊「姓名」列進行排序,「物品等級」,「側面」等,因爲它們都默認分類「ASC」,當你點擊了「圖標」列。

所以,當你點擊它,沒有什麼改變。如果您想更改默認排序順序,則可以使用以下設置更改順序。

$.fn.dataTable.defaults.column.asSorting = ['desc', 'asc']; 
$.fn.dataTable.defaults.aaSorting = [[0,'desc']]; 

我希望這是顯而易見的。但是,如果不是那麼你可以看到我改變'名字'專欄內容的小提琴。與標記加以比較,你有,那麼你就會明白爲什麼它不排序

<td>435countant</td> 

<td>615</td> 

https://jsfiddle.net/karthick6891/2x8L9b73/2/

+0

https://jsfiddle.net/karthick6891/2x8L9b73/2/你可以在這個鏈接查看「名稱」列 – karthick

+0

比較https://jsfiddle.net/2x8L9b73/1/ && https://jsfiddle.net/karthick6891/2x8L9b73/2 /。看看有什麼不同。列默認按照升序排序,如果沒有東西需要排序,則必須點擊兩次。所以它可以通過'desc'對列進行排序 – karthick

+0

哦,好吧我現在看到了,自從昨天以來我一直在處理這個問題。謝謝! – knuxyl