使用TableSorter

时间:2016-06-21 01:16:37

标签: jquery ajax sorting parsing tablesorter

我正在尝试格式化由ajax不断更新的表格的某些数据。

我想要浮动数据 成为这个

  

1.100.500,00(货币)

我排序后。

问题是tablesorter只有浮点值才能正确排序,如果它们是第一种格式。我需要做的是:

  1. ajax加载数据时,请将其显示为(货币),作为货币。
  2. 单击table <th>对数据进行排序时,请删除(货币)货币格式并正确排序数据。
  3. 正确排序后,将数据重新格式化为(货币),作为货币。
  4. 我已经尝试过这个:(我发现这是SO的许多问题的解决方案)

    $.tablesorter.addParser({ 
            // set a unique id 
            id: 'thousands',
            is: function(s) { 
                // return false so this parser is not auto detected 
                return false; 
            }, 
            format: function(s) {
                // format your data for normalization 
                return s.replace('.','').replace(/,/g,'');
            }, 
            // set type, either numeric or text 
            type: 'numeric' 
            }); 
    
    
            $("#table_1").tablesorter({
                headers: {
                    2: {//zero-based column index
                        sorter:'thousands'
                    }
                }
        });
    

    但它不起作用。

    有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

有四件事需要修复(demo):

  1. 替换句点的功能只会删除一个。因此,将其更改为=GETPIVOTDATA("AHT",$A$4,"Operator",**ROW(B6)**,"****WeekEnding",DATE(2016,4,10)) (此时段也需要转义)。
  2. 从字符串
  3. 中删除.replace(/\./g, "")
  4. 用小数点替换$,以便正确解析值。
  5. 使用内置的,函数将字符串中的值转换为数字。

    $.tablesorter.formatFloat
  6. 我分享的演示版正在使用我的fork of tablesorter,但代码也会在原始版本中按预期运行。