2014-06-20 44 views
1

我想知道是否有方法對幾個版本號進行排序(如1.8.52.7.1)。在tablesorter.js中對版本信息進行排序

它們的長度不總是相同的(例如,1.8大於1.7.1)。

有沒有辦法做到這一點?

+0

你嘗試過什麼?如果是這樣,發佈一些代碼,你已經嘗試 – DNKROZ

回答

0

試試這個通用版本解析器(demo):

$(function() { 

    /************************ 
     Generic version parser 
    ************************/ 
    // set the number of blocks 
    // e.g. 2 = 000.000 
    // and 3 = 000.000.000 
    var blocks = 3, 
     // length of each block 
     // 3 = 000 
     // 4 = 0000 
     digits = 3; 

    $.tablesorter.addParser({ 
     id: "versions", 
     is: function (s) { 
      return false; 
     }, 
     format: function (s, table) { 
      var i, 
      a = s ? s.split(".") : [], 
       r = "", 
       d = new Array(digits + 1).join('0'); 

      for (i = 0; i < blocks; i++) { 
       r += (d + (a[i] || 0)).slice(-digits); 
      } 
      return s ? $.tablesorter.formatFloat(r, table) : s; 
     }, 
     type: "numeric" 
    }); 

    $('table').tablesorter({ 
     theme: 'blue', 
     headers: { 
      3: { sorter: "versions" } 
     } 
    }); 

}); 
+0

這確實奏效,非常感謝! – user3760531