0

通貨タブでのデータ テーブルの並べ替えで問題が発生しました。通貨/価格列をソートしようとすると..

A - $ 10,0000
B - $ 4,000
C - $ 8,000

Chrome の場合:

それは正常に動作し、正しい答えが表示されます。これはBCA昇順です。

Mozilla と IE の場合:

正しい答えは表示されず、代わりにこの答えがACB昇順で表示されます。moz と iE が $ 記号を文字列の一部として読み取るので、2 番目に小さい数字を読み取ると思います。

これに対する解決策はありますか?

Chrome と Mozilla で開いた このサンプルリンクを試してみてください。

4

1 に答える 1

0

私は自分の問題を解決するだけです。

エラーの原因となる通貨プラグイン用の拡張 .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';
                }
            );              
        });
于 2013-05-08T04:25:36.953 に答える