Types 表排序对整型和字符串列进行排序

Types 表排序对整型和字符串列进行排序,types,tablesorter,Types,Tablesorter,我的tablesorter列包含如下数据[20823、C420837、9823927、47-123、C47293]以及非类型的空格时出现了一个问题 问题是,当我尝试对它们进行排序(asc或desc)时,我的表排序将所有数字类型组合在一起,然后我的其余数据将按另一列中的字段按字母顺序排序。我希望所有的数据与所有的非类型一起排序,要么在顶部,要么在下面,而不是在整个空间中。如果您能帮助我们了解如何对这些数据进行自定义排序,我们将不胜感激 编辑:我添加了一个自定义解析器 $.tablesorter.a

我的tablesorter列包含如下数据[20823、C420837、9823927、47-123、C47293]以及非类型的空格时出现了一个问题 问题是,当我尝试对它们进行排序(asc或desc)时,我的表排序将所有数字类型组合在一起,然后我的其余数据将按另一列中的字段按字母顺序排序。我希望所有的数据与所有的非类型一起排序,要么在顶部,要么在下面,而不是在整个空间中。如果您能帮助我们了解如何对这些数据进行自定义排序,我们将不胜感激

编辑:我添加了一个自定义解析器

$.tablesorter.addParser({ 
    // set a unique id 
    id: 'enumsos', 
    is: function(s) { 
        // return false so this parser is not auto detected 
        return false; 
    }, 
    format: function(s) { 
        // format your data for normalization 
        return s.toString(); 
    }, 
    // set type, either numeric or text 
    type: 'text' 
}); 

$(function() { 
    $("table").tablesorter({ 
        headers: { 
            7: { 
                sorter:'enumsos' 
            } 
        } 
    }); 
});

现在我遇到了一个新问题,排序是有效的,但它只对我的内容进行降序排序,这适用于所有列!发生了什么事?

我不确定如何对
47-123
值进行排序,但如果修改解析器以从内容中删除所有非数字值(小数点除外),则只有数字值会排序()


对于空单元格,您可以使用设置它们的排序位置,或者如果该列包含非数字字符串,如“N/A”,则可以使用,但首先需要修改上述解析器,以不替换所有非数字。

这太糟糕了。祝你好运。你有问题吗?是的,我的问题是如何正确地对列进行排序?
$.tablesorter.addParser({
    // set a unique id 
    id: 'enumsos',
    is: function (s) {
        // return false so this parser is not auto detected 
        return false;
    },
    format: function (s) {
        // format your data for normalization 
        return s.toString().replace(/[^\d.]/g, '');
    },
    // set type, either numeric or text 
    type: 'numeric'
});

$(function () {
    $('table').tablesorter({
        headers: {
            0: {
                sorter: 'enumsos'
            }
        }
    });
});