2013-07-19 54 views
1

我有一個關於使用數據表的自定義排序選項的問題。 我有一個只有最後一列圖像的表格。圖像使用標題標籤,我想在這裏對它們進行分類。Datatables在標題標籤上排序圖像

所以,我用這個代碼來設置排序:

<script type="text/javascript"> 

      jQuery.extend(jQuery.fn.dataTableExt.oSort, { 
       "title-string-pre": function (a) { 
        return a.match(/title="(.*?)"/)[1].toLowerCase(); 
       }, 

       "title-string-asc": function (a, b) { 
        return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
       }, 

       "title-string-desc": function (a, b) { 
        return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 
       } 
      }); 

      $(document).ready(function() { 
         $('#customertable').dataTable({ 
          "aoColumnDefs": [ 
          { "bSortable": false, "aTargets": [ 0,1 ] }, 
          { "sType": "title-string-asc", "aTargets": [ 4 ] } 
          ], 

          "bPaginate": false, 
          "bLengthChange": false, 
          "bFilter": false, 
          "bInfo": false, 
          "bAutoWidth": false, 
          "bSortCellsTop": true 

         }); 
        }); 
</script> 

然而,當我點擊列4的標題,它不工作和Chrome報告錯誤「屬性「稱號串-ASC對象#的「-desc」不是函數「 和 」對象#的屬性'title-string-asc-asc'不是函數「

我在做什麼錯?

回答

2

找到了答案,但不明白。

更改 { 「STYPE」: 「標題字符串-ASC」, 「aTargets」:[4]} 到 { 「STYPE」: 「標題字符串」, 「aTargets」:[4]}

現在,它的工作。但爲什麼? 「title-string」沒有定義。 javascript如何將該字符串鏈接到標題標籤的內容?

+2

標題字符串是它的名字,當你點擊標題時它會變成title-string-asc或者title-string-desc,然後使用你的自定義排序功能......如果你的名字是title-string-asc,那麼它會變成title-string-asc-asc並且有ref錯誤 –