【发布时间】:2018-10-27 15:54:07
【问题描述】:
我正在使用 jQuery 数据表来显示十进制值的百分比,例如
我使用这些值的 parseFloat 对它们进行排序。问题出现在国际化期间,在法语、德语中,这些值表示为
parseFloat 函数会忽略 ,并且只显示数字部分。所以 28,33 显示为 28 和 91,58 显示为 91 和 很快.. 我需要保留逗号并对表格进行排序。如果我删除 parsefloat,它不是排序。如果我将 , 替换为 .它有效,但我需要一个逗号。如果有人建议我解决此问题,那将很有帮助。
代码片段
$.ajax({
dataType : "json",
url : myURL,
data : aoData,
cache : false,
success : function(json) {
var settings = {
tableSelector: getTableSelector(tab),
tableContainer : tab,
aaData : json.aaData,
iDisplayLength: 10,
bProcessing: false,
oLanguage : {
sEmptyTable: json.emptyTableMessage,
oPaginate: DataTablesUtils.getPaginationControls()
},
fnPreDrawCallback: function() {
resetArrowButtons(tab);
},
fnDrawCallback: function(oSettings) {
attachTableBodyEventListeners(tab);
DataTablesUtils.togglePaginationControls(oSettings, json.aaData.length);
},
fnInitComplete: function (oSettings) {
hideLoader(tab);
showTable(tableSelector);
showFilterBtn(tab);
},
aoColumns: columnRender(tab),
bSort : true,
aaSorting: []
};
var pagination = new DatatablesPagination(settings);
pagination.display();
},
error : function() {
showErrorMessageDetail(tab);
}
});
function columnRender(tab) {
return [{
// Column1
"sWidth" : "50px",
"bSortable" : true,
"fnRender": function(oObj) {
return getColumnIcon(oObj.aData[0]);
}
}, {
// Percentage %
"sWidth" : "90px",
"bSortable" : true,
"sType": "numeric",
"fnRender" : function(oObj) {
return showValueOrDash(oObj.aData[1]);
}
}];
}
function showValueOrDash(value) {
return value ? parseFloat(value) : " - ";
}
【问题讨论】:
-
向我们展示您的尝试
-
@muecas 我真的不知道该怎么做。 jQuery 需要一个数字来排序,但我只能给出一个数字,中间有逗号(实际上不是数字)。
-
为什么不给一个带点的数字?
-
@muecas 我们有一个大数据表,其中所有数据都是英文的。该网站的德国用户希望单独查看德语格式的数字(90,82 而不是 90.82)
-
你能发布你的 DataTables js 初始化吗?
标签: jquery datatables columnsorting