2015-04-02 22 views
0

我使用這個插件https://datatables.net/examples/api/multi_filter_select.htmljQuery的數據表插件 - 如何排序選擇選項列表

,我有我的選擇

http://i61.tinypic.com/f5543t.jpg

現在是10名有問題, 12,14,3,4,5,6,7

,我想有3,4,5,6,7,10,12,14

它可能是一些選項來設置,但我CA NT找到它..

我jQuery代碼loks像

$(document).ready(function() { 
    $('#example').DataTable({ 
     initComplete: function() { 
      var api = this.api(); 

      api.columns().indexes().flatten().each(function (i) { 
       var column = api.column(i); 
       var select = $('<select><option value="">Wybierz</option></select>') 
        .appendTo($(column.footer()).empty()) 
        .on('change', function() { 
         var val = $.fn.dataTable.util.escapeRegex(
          $(this).val() 
         ); 

         column 
          .search(val ? '^'+val+'$' : '', true, false) 
          .draw(); 
        }); 

       column.data().unique().sort().each(function (d, j) { 
        select.append('<option value="'+d+'">'+d+'</option>') 
       }); 
      }); 
     }, 
     "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "Wszystko"]], 
    }); 
}); 

預先感謝任何幫助。

+0

任何人的工作有所幫助? – 2015-04-02 20:14:39

回答

0

我找到了解決辦法 - 只是刪除的.sort()在第20行,它像一個魅力:)

可以
+0

你已經提到你需要排序數據,刪除'sort()'不是一個正確的方法。 – 2015-04-07 12:17:32

0

您的值列表不按數字排序。顯然,該列中的某處有非數字數據,可以防止DataTables識別其類型。

請參閱column.type文檔以獲取可用數據類型的列表。如果您在該列中有HTML標籤,我相信您需要numhtml-num。需要改變的,所以它看起來像

您的代碼:

$('#example').DataTable({ 
    'columnDefs': [{ 
     // Use your actual column index instead of 0 
     'targets': 0, 

     // Use 'num' or 'html-num' depending on your column data 
     'type': 'html-num' 
     }], 

     // Other initialization options 
)}; 
+0

感謝您的關注, 我檢查了您的代碼,但它不適用於我。 – 2015-04-07 06:45:54

+0

列出的代碼是不能單獨工作的摘錄。你是否嘗試過將'targets'從'0'改爲實際列索引(如果它不同於'0')並添加其他初始化選項? – 2015-04-07 12:28:21

相關問題