Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 数据表排序货币_Sorting_Format_Datatables_Currency - Fatal编程技术网

Sorting 数据表排序货币

Sorting 数据表排序货币,sorting,format,datatables,currency,Sorting,Format,Datatables,Currency,请帮助我们学习如何在DataTables脚本中以“34 566.00 ek.”格式对货币进行排序 以下是JSFIDLE示例: 请看一看非常广泛的datatables文档。在那里,您将找到简单的解决方案,几乎可以解决您在使用datatables时遇到的所有问题。例如,有一些插件函数可以为货币列添加排序支持 一个基于您得到的信息的示例: // add sorting methods for currency columns jQuery.extend(jQuery.fn.dataTableExt.o

请帮助我们学习如何在DataTables脚本中以“34 566.00 ek.”格式对货币进行排序

以下是JSFIDLE示例:


请看一看非常广泛的datatables文档。在那里,您将找到简单的解决方案,几乎可以解决您在使用datatables时遇到的所有问题。例如,有一些插件函数可以为货币列添加排序支持

一个基于您得到的信息的示例:

// add sorting methods for currency columns
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
    "currency-pre": function (a) {
        a = (a === "-") ? 0 : a.replace(/[^\d\-\.]/g, "");
        return parseFloat(a);
    },
    "currency-asc": function (a, b) {
        return a - b;
    },
    "currency-desc": function (a, b) {
        return b - a;
    }
});

// initialize datatable and explicitly set the column type to "currency"
$('#example').dataTable({
    "aoColumns": [{"sType": "currency"}],
    "aaSorting": [[0, "desc"]],
    "bStateSave": false,
    "iDisplayLength": 50,
});
文档链接:

分类:


Datatables还能够自动检测列类型,但由于所有不同的格式,它变得有点复杂。类型检测:

我没有足够的声誉在@Gigo的答案中添加命令。所以我会把这个作为一个答案

如果使用欧洲货币格式,则点“.”用作千位分隔符,而不是逗号“,”。因此,排序脚本无法正常工作,因为1.000,00被解释为一个零点

要修复此问题,请将正则表达式更改为:

/[^\d\-\,]/g

点改为逗号,现在1.000,00将被解释为1000点零。

非常感谢。效果很好。下面是一个实时示例,在更改之后。说得好。如果列中的所有数字的格式相同,我想这不会有任何影响,但无论如何,应该调整正则表达式以匹配格式。
/[^\d\-\,]/g