Javascript 带连字符的Jquery表排序器编号

Javascript 带连字符的Jquery表排序器编号,javascript,jquery,gridview,jquery-plugins,tablesorter,Javascript,Jquery,Gridview,Jquery Plugins,Tablesorter,Jquery表排序器 我正在使用Jquery tablesorter,需要对Gridview列进行排序,该列包含带连字符标记的数字。数据采用以下格式,无法按ASC顺序进行排序onLoad:17-143,17-162,12-144,17-45,18-12,17-65,18-2。有些值为空。sql中的空值。 上述数据默认排序为:12-144,17-45,17-65,17-143,17-162,18-2,18-12 请帮忙。以下是我试图使用的代码片段: $(文档).ready(函数(){ $(“#

Jquery表排序器

我正在使用Jquery tablesorter,需要对Gridview列进行排序,该列包含带连字符标记的数字。数据采用以下格式,无法按ASC顺序进行排序onLoad:17-143,17-162,12-144,17-45,18-12,17-65,18-2。有些值为空。sql中的空值。 上述数据默认排序为:12-144,17-45,17-65,17-143,17-162,18-2,18-12

请帮忙。以下是我试图使用的代码片段:


$(文档).ready(函数(){
$(“#maingvResource”).tablesorter.addParser({
//设置一个唯一的id
id:'lblIDSort',
is:功能{
返回false;
},
格式:函数{
返回s.replace(“$”,“)。replace(/-/g)”;
}, 
键入:“数字”
}); 
$(函数(){
$(“#主资源”).tablesorter({
小部件:['zebra'],
标题:{
1:{//从零开始的列索引
分拣机:“gdMobileID”
}
}
});
});
});

为什么会有这些空白?您是否害怕,可能一次看到的代码太多了?;)

$(函数(){
$.tablesorter.addParser({
_正则表达式:/^\d+(?:-\d+)+$/,
_formatNumber:函数(nr){
//返回“0”。重复(5个长度)+个;
而(nr.长度<5)nr=“0”+nr;
返回nr;
},
//设置一个唯一的id
id:'gdMobileID',
is:功能{
//自动识别列类型的步骤
返回此项。正则表达式测试;
//仅应用于您定义的列的步骤
返回false;
}, 
格式:函数{
返回s.replace(/\d+/g,this.\u格式编号);
}, 
键入:“文本”,
}); 
$(“#主要gvResource”).tablesorter({
小部件:['zebra'],
//如果让解析器自动识别要应用的列,则无需这样做
/*标题:{
1:{//从零开始的列索引
分拣机:“gdMobileID”
}
}*/
});
});

为什么会有这些空白?您是否害怕,可能一次看到的代码太多了?;)

$(函数(){
$.tablesorter.addParser({
_正则表达式:/^\d+(?:-\d+)+$/,
_formatNumber:函数(nr){
//返回“0”。重复(5个长度)+个;
而(nr.长度<5)nr=“0”+nr;
返回nr;
},
//设置一个唯一的id
id:'gdMobileID',
is:功能{
//自动识别列类型的步骤
返回此项。正则表达式测试;
//仅应用于您定义的列的步骤
返回false;
}, 
格式:函数{
返回s.replace(/\d+/g,this.\u格式编号);
}, 
键入:“文本”,
}); 
$(“#主要gvResource”).tablesorter({
小部件:['zebra'],
//如果让解析器自动识别要应用的列,则无需这样做
/*标题:{
1:{//从零开始的列索引
分拣机:“gdMobileID”
}
}*/
});
});
My默认使用自然排序算法。您不需要包含任何额外的代码就可以使用该数据集()

默认情况下,My使用自然排序算法。您不需要包含任何额外的代码就可以使用该数据集()


你知道你有一个文档吗。准备好了吗?你知道你有一个文档吗。准备好了吗?汤姆,谢谢你的片段。我不熟悉堆栈溢出,最重要的是,我也不熟悉jQuery:)我得到错误“对象不支持属性或方法‘repeat’”错误:对象不支持属性或方法‘repeat’。好的,这是ES6。修正了。汤姆,谢谢你的片段。我不熟悉堆栈溢出,最重要的是,我也不熟悉jQuery:)我得到错误“对象不支持属性或方法‘repeat’”错误:对象不支持属性或方法‘repeat’。好的,这是ES6。修好了。
$(function() {
    $.tablesorter.addParser({ 
        _regex: /^\d+(?:-\d+)+$/,
        _formatNumber: function(nr){
            //return "0".repeat(5-nr.length) + nr;
            while(nr.length < 5) nr = "0" + nr;
            return nr;
        },

        // set a unique id 
        id: 'gdMobileID',
        is: function(s) {
            //to auto-recognize the column-type
            return this._regex.test(s); 

            //to apply only on columns you defined
            return false;
        }, 

        format: function(s){
            return s.replace(/\d+/g, this._formatNumber);
        }, 
        type: 'text',
    }); 

    $("#main-gvResource").tablesorter({
        widgets: ['zebra'],
        //no need, if you let the parser auto-recognize the columns to apply
        /*headers: {
            1: {//zero-based column index
                sorter:'gdMobileID'
            }
        }*/
    });
});
$(function () {
    $('table').tablesorter({
        theme: 'blue'
    });
});