5

我对数据表(http://www.datatables.net)、jQuery 和 Firefox 有疑问。

我有一个 jQuery 数据表 ( id="equipmentList"),上面有一个按钮:

<html:button styleId="deleteButton" property="delete" value="<%= buttonDelete %>" disabled="disabled" />

当我对数据表上的列进行排序时,我想禁用一个按钮(按钮deleteButton),所以我写了这段代码:

$('#equipmentList th').click( function() {
    hideButtonEditAndDelete();
});

function hideButtonEditAndDelete() {
    $("#modifyButton").attr("disabled", "disabled");
    $( "#deleteButton" ).attr("disabled", "disabled");

//fix for firefox

if($.browser.mozilla){
    $("#modifyButton").addClass('ui-state-disabled');
    $("#deleteButton").addClass('ui-state-disabled');
}}

一切顺利,直到排序结束,因为之后,我的按钮由 jQuery 启用;或者是其他东西。所以我在排序结束时寻找捕获事件以禁用我的按钮

4

1 回答 1

7

每次重绘表格时都会进行回调,并且可以在 fnDrawCallback 上访问:

$('#someTable').dataTable({
        "fnInitComplete": function() {
            // after table is intialised do something here
        },
        "fnDrawCallback": function() {
            // after table is redrawndo something here
            console.log("redrawn");
        },
        "bDestroy": true,
        "bAutoWidth": false,
        "bPaginate": false,
        "sScrollY": "242px",
        "bLengthChange": false,
        "bInfo": false,
        "bFilter": false,
        "aaSorting": [[2, 'asc']],
        "aoColumns": [
            { "sSortDataType": "dom-checkbox", "sWidth": "3%" },
            { "bSortable": true, "sWidth": "8%" },
            { "bSortable": true, "sWidth": "10%" },
            { "bSortable": true, "sWidth": "15%" },
            { "bSortable": true, "sWidth": "8%" },
            { "bSortable": true, "sWidth": "9%" },
            { "bSortable": true, "sWidth": "6%" },
            { "bSortable": false, "sWidth": "2%" },
            { "bSortable": false, "sWidth": "7%" },
            { "bSortable": false, "sWidth": "13%" },
            { "bSortable": false, "sWidth": "2%" },
            { "bSortable": false, "sWidth": "7%" },
            { "bSortable": false, "sWidth": "10%" }
        ]
    });

此处有关回调的更多信息:

http://datatables.net/usage/callbacks

于 2011-01-14T13:18:45.990 回答