排序在jQuery数据表中不起作用 [英] Sorting is not working in jQuery datatables

查看:68
本文介绍了排序在jQuery数据表中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个页面中有两个内联表,排序在一个数据表上进行,但不在另一数据表上,一次调用两个div,但是排序仅在一个数据表上进行.

I have two inline tables in one page, sorting is working on one data table but not on other, calling both div's at a time, but sorting is working on only one data table.

$('#div1').DataTable(
{
    "processing" : true,
    "destroy" : true,
    "paginate" : true,
    "lengthChange" : true,
    "filter" : true,
    "ordering" : true,
    "order" : [
        [ 1, "asc" ] 
    ],
    "info" : false,
    "reloadDT" : false,
    "autoWidth" : false,
    "scrollY" : 340,
    "language" : {
        "search" : "Search: ",
        "processing" : "<span class='loadingImg'></span>"
    },
    "oCustomization" : {
        "bFilterHidden" : false,
        "bApplyShortenPlugin" : false,
        "bInlineWithHeader" : false,
        bEnablePaginationControl : false
    },
    "lengthMenu" : 8,
        ajax : $.fn.dataTable.pipelineAdv({
        method : "GET",
        url : "someurl=" + param,
        cache : false,
        pages : Global.pageSize,
    }),
    sAjaxDataProp : "serverResponse.result",
    "sCountSelector" : "span.count",
    "dom" : "lCrtip",
    columns : [
    {
        "data" : null,
        "orderable" : false,
        searchable : false,
        "width" : aColumnWidth[0],
        "title" : "Some title",
        "className" : "center",
        targets : [ 0 ]
    },
    {
        "data" : "data1",
        "width" : aColumnWidth[1],
        'title' : jQuery.i18n
                .prop("vehicle.col1label"),
        "className" : "no-word-break",
        "orderable" : true
    },
    {
        "data" : "data2",
        "width" : aColumnWidth[2],
        "className" : "no-word-break",
        "title" : "Service Type",
    },
    {
        "data" : "data3",
        "width" : aColumnWidth[3],
        "className" : "no-word-break",
        "title" : jQuery.i18n
                .prop("elevated.dashboard.upcoming"),
    } ],

    "initComplete" : function(oSettings, json) {
    //some code here
    },
    "drawCallback" : function(oSettings) {
        if (oSettings.jqXHR) {
            $(oSettings.oInit.sCountSelector).text(
                oSettings.fnRecordsDisplay());
        }
    }
});


$('#div2').DataTable(
{
    "processing" : true,
    "destroy" : true,
    "paginate" : true,
    "lengthChange" : true,
    "filter" : true,
    "ordering" : true,
    "order" : [
        [ 1, "asc" ]
    ],
    "info" : false,
    "reloadDT" : false,
    "autoWidth" : false,
    "scrollY" : 341,
    "language" : {
        "search" : "Search: ",
        "processing" : "<span class='loadingImg'></span>"
    },
    "oCustomization" : {
        "bFilterHidden" : false,
        "bApplyShortenPlugin" : false,
        "bInlineWithHeader" : false,
        bEnablePaginationControl : false
    },
    "lengthMenu" : Global.aAdminLengthOption,
    ajax : $.fn.dataTable.pipelineAdv({
        method : "GET",
        url : "someurl=" + param,
        cache : false,
        pages : Global.pageSize,
    }),
    sAjaxDataProp : "serverResponse.result",
    "sCountSelector" : "span.Count",
    "dom" : "lCrtip",
    columns : [
        {
            "data" : null,
            "orderable" : false,
            searchable : false,
            "width" : aColumnWidth[0],
            "title" : "Some title",
            "className" : "center",
            targets : [ 0 ]
        },
        {
            "data" : "data1",
            "width" : aColumnWidth[1],
            'title' : jQuery.i18n
                    .prop("vehicle.col1label"),
            "className" : "no-word-break",
            "orderable" : true
        },
        {
            "data" : "data2",
            "width" : aColumnWidth[2],
            "className" : "no-word-break",
            "title" : "Service Type",
        },
        {
            "data" : "data3",
            "width" : aColumnWidth[3],
            "className" : "no-word-break",
            "title" : jQuery.i18n
                    .prop("elevated.dashboard.upcoming"),
        } 
    ],

    "initComplete" : function(oSettings, json) {
    //some code here
    },
    "drawCallback" : function(oSettings) {
        if (oSettings.jqXHR) {
            $(oSettings.oInit.sCountSelector).text(
                oSettings.fnRecordsDisplay());
            }   
        }

});

还尝试添加orderable:true,但是没有运气,我有什么想念吗?

Also tried adding orderable : true, but no luck, did i miss anything?

推荐答案

这应该可以为您提供所需的东西

This should get you what you need

$(document).ready(function() {
$("#div2").dataTable({
    aaSorting: [[2, 'asc']],
    bPaginate: false,
    bFilter: false,
    bInfo: false,
    bSortable: true,
    bRetrieve: true,
    aoColumnDefs: [
        { "aTargets": [ 0 ], "bSortable": true },
        { "aTargets": [ 1 ], "bSortable": true },
        { "aTargets": [ 2 ], "bSortable": true },
        { "aTargets": [ 3 ], "bSortable": false }
    ]
}); });

键是aaSorting选项. 您可以通过 http://datatables.net/ref

The key is the aaSorting option. you can find it here though http://datatables.net/ref

这篇关于排序在jQuery数据表中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆