我正在尝试实现DataTables自定义过滤器/范围过滤的功能,如本页中所述:https://www.datatables.net/examples/plug-ins/range_filtering.html)。

除我正在过滤的列中的表中显示的数字中包含逗号分隔符,而且过滤效果好外,其他方法都可以正常工作。

它似乎将逗号及其后的所有数字都视为不存在,因此将1,234视为1。

我认为在此行之后添加一行以删除这些逗号会很容易:

var dit100 = parseInt( data[3], 10 ) || 0;


我尝试了多种方法来完全替换逗号,包括:

dit100 = dit100.replace(/,/g, '');


...以及其他方法。

但是,在每种情况下,添加额外的一行都会停止DataTables脚本的工作。

奇怪的是,上面的replace命令在JSFiddle中确实起作用:https://jsfiddle.net/pudqpr2t/

我知道我可能在这里做一些愚蠢的事情,但是我无法发现自己​​在做错什么。

有什么建议?

谢谢!

最佳答案

这是在黑暗中拍摄的镜头,但这不是因为您试图在int上进行替换?

也许尝试

var dit100 = data[3] || 0;
dit100 = dit100.replace(/,/g, '');
dit100 = parseInt( dit100 , 10 );


然后,对字符串进行替换,然后将其转换为int

10-05 20:50