PHP Datatable货币排序


PHP Datatable currency sorting

我在货币选项卡中的数据表排序有问题。当我尝试对货币/价格列进行排序时…

交货

A - $ 10,0000
B - $ 4,000
C - $ 8,000
在Chrome:

它工作正常,它显示正确的答案。即BCA升序

在Mozilla和IE中:

它不显示正确的答案,而是显示这个答案ACB升序。我相信它会读取自moz以来的第二低的数字,iE会读取$符号作为字符串的一部分。

有解决方案吗?

你可以试试我找到的这个示例链接在Chrome和Mozilla中打开

我刚刚解决了我的问题。

而不是为货币插件创建一个扩展的.js文件,这会导致错误…我编写代码与创建数据表对象。像这样:

            $(document).ready(function(){
            model_select();
            $('.data_table').dataTable({
                "bJQueryUI": true,
                "sPaginationType": "full_numbers",
                "bRetrieve":true,
                "aoColumnDefs": [
                  { "sType": "currency", "aTargets": [ 10 ] }
                ]
            }); 
            // Change this list to the valid characters you want
            var validChars = "$£€c0123456789-,";
            // Init the regex just once for speed - it is "closure locked"
            var str = jQuery.fn.dataTableExt.oApi._fnEscapeRegex("$£€c0123456789-,");
            var re = new RegExp('[^'+str+']');

            jQuery.fn.dataTableExt.aTypes.unshift(
               function ( data )
                {
                    if ( typeof data !== 'string' || re.test(data) ) {
                        return null;
                    }
                    return 'currency';
                }
            );              
        });