3

テキストと数値の両方を含むデータの並べ替えを処理するのに苦労しています。私は datatables サーバーサイド プラグインを使用しており、ナチュラル ソート プラグインを含めようとしています。

次のようなデータを含む列があります。

Unit #1
Unit #10
Unit #2

列を並べ替えると並べ替えられますが、表示したい順序ではありません。これは私が必要なものです:

Unit #1    
Unit #2
Unit #10

ここにある「自然な並べ替え」プラグインを使用した他の投稿を見ました: datatables 自然な並べ替え

自然な並べ替え関数の main.js ファイルに javascript を入れました。

これは、dataTable を初期化する方法です。

<script type="text/javascript">     
    var oTable = $("table.datatable_ss_1348508281").dataTable( {

        "oLanguage": {"sSearch": "Search these results:"},
        "aLengthMenu": [[10,20,50,100,500,1000], [10,20,50,100,500,1000]],          
        "sPaginationType": "full_numbers",
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "includes/units_dropdown_dt_process.php?id=1532&cont_id=unit_id",
         "fnDrawCallback": function() {
                                //$('span.paginate_active').trigger('click');
                            },      
        "aoColumnDefs":[],
        "aoColumns": [{"sType": "natural"}, null, null],
        "aaSorting": [[ 0,"asc" ]],
        "sScrollY": "300px",

            } ).fnSetFilteringDelay(500);

    jQuery.extend( jQuery.fn.dataTableExt.oSort, {
        "natural-asc": function ( a, b ) {
            return naturalSort(a,b);
        },

        "natural-desc": function ( a, b ) {
            return naturalSort(a,b) * -1;
        }
    } );

</script>

問題は、それがまだテキストを使用してソートされており、数字を考慮していないことです...この問題を解決する方法について何かアイデアはありますか?

よろしくお願いします。

4

1 に答える 1