Jquery 如何使用正交数据在数据表中排序?

Jquery 如何使用正交数据在数据表中排序?,jquery,datatables,Jquery,Datatables,我使用的是v1.10。当列中显示的值不是数字时,我想使列按数字值排序 我明白我需要用它来做这件事,就像 但是,我的排序功能不起作用。这是我的代码: var myData = [{ 'country': 'France', 'all_games': 7, 'won_games': 4 }, { 'country': 'England', 'all_games': 13, 'won_games': 13 }, {

我使用的是v1.10。当列中显示的值不是数字时,我想使列按数字值排序

我明白我需要用它来做这件事,就像

但是,我的排序功能不起作用。这是我的代码:

var myData = [{
    'country': 'France',
        'all_games': 7,
        'won_games': 4
}, {
    'country': 'England',
        'all_games': 13,
        'won_games': 13
}, {
    'country': 'Germany',
        'all_games': 2,
        'won_games': 0
}];
var columns = [{
    "data": "country",
        "title": "Country"
}, {
    "data": "outcomes_str",
        "title": 'Games won',
        "render": {
        "_": "display",
            "sort": "sort"
    }
}];
$.each(myData, function (i, d) {
    d.outcomes_str = {};
    d.outcomes_str.sort = (d.all_games > 0) ? (d.won_games / d.all_games) * 100 : 0;
    d.outcomes_str.display = d.won_games + '/' + d.all_games + ' (' + Math.round(d.outcomes_str.sort * 10) / 10 + '%)';
    console.log(d.outcomes_str);
});
drawTable(myData, 'localTable');

function drawTable(data, tableId) {
    var html = '<table class="table table-bordered table-hover ';
    html += '" cellspacing="0" width="100%" id="myTable"></table>';
    $('#table').append(html);
    $("#myTable").DataTable({
        data: data,
        columns: columns,
        paging: false
    });
}
});
var myData=[{
‘国家’:‘法国’,
“所有游戏”:7,
“赢得比赛”:4场
}, {
‘国家’:‘英格兰’,
“所有游戏”:13,
“赢得比赛”:13场
}, {
‘国家’:‘德国’,
“所有游戏”:2,
“赢得比赛”:0
}];
变量列=[{
“数据”:“国家”,
“标题”:“国家”
}, {
“数据”:“结果”,
“标题”:“赢得比赛”,
“渲染”:{
“\”:“显示”,
“排序”:“排序”
}
}];
$。每个(我的数据,函数(i,d){
d、 结果_str={};
d、 结果排序=(d.所有比赛>0)?(d.赢得比赛/d.所有比赛)*100:0;
d、 结果显示=d.won_games+'/'+d.all_games+'('+Math.round(d.outlets_str.sort*10)/10+'%);
控制台日志(d.U.str);
});
drawTable(myData,'localTable');
函数drawTable(数据,tableId){
var html='';
$(“#表”).append(html);
$(“#myTable”).DataTable({
数据:数据,
列:列,
分页:false
});
}
});
请点击此处:

我做错了什么?

请参阅

基本上,对于数字数据,您需要使用
type:“num”
显式地声明列数据类型,否则它可能默认为字母排序

{
“数据”:“结果”,
“标题”:“赢得比赛”,
“类型”:“num”,
“渲染”:{
“\”:“显示”,
“排序”:“排序”
}
}
有关代码和演示,请参阅