php - 单击特定标题时禁用排序

标签 php jquery datatables

我正在使用此代码

var oTable = $('#tbl').dataTable({
    "aaSorting": [
        [0, "desc"]
    ],
        "aoColumns": [
    null,
    null],
        "sDom": 'R<>rt<ilp><"clear">',
        "iDisplayLength": 25,
        "iDisplayStart": 0,
        "bProcessing": true,
        "bServerSide": true,
        "sPaginationType": "full_numbers",
        "sAjaxSource": "processing.php",
        "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
        var id = aData[0];
        $(nRow).attr("id", id);
        // Bold the grade for all 'A' grade browsers
        if (aData[0] != 0) {
            $('td:eq(0)', nRow).html('<input type="checkbox" name="delid[]" value="' + aData[0] + '" />');
        }

    });
return nRow;
}
});

当表格显示时,我想按降序排序,这是可以的。但是当我单击复选框以选择每行的所有复选框时,它会再次排序,并且选中变为取消选中...... 当有人单击标题复选框时,我可以删除该排序吗? 我知道可以通过这种方式禁用常见排序,但这不是我的要求

{ "bSortable": false },

最佳答案

您需要使用stopPropagation()复选框的单击事件的函数,以防止在表头单元格上注册单击。调用 stopPropagation() 可防止事件向上冒泡到父元素,因此表头单元格不会知道您单击了它,并且不会重新排序。

它会是这样的:

$('th input').click(function(event) {
    event.stopPropagation();
});

关于php - 单击特定标题时禁用排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121181/

相关文章:

javascript - DataTables:按数字数据顺序排序不起作用?

jquery-ui - 如何从数据表行调用模态对话框 - 似乎与 Jquery UI 冲突

javascript - 如何在 iframe 中使用 postmessage 将用户重定向到主文档上的页面

javascript - 如何从 $(...).html() 方法给出的多行字符串中删除缩进

Jquery数据表: Dynamically manipulate the aoColumns attributes

php - 如何在函数选择中使用IF和ELSE?

jquery - 如何为 Wordpress WP Page-Navi 插件启用 AJAX

php - 使用 php 和 html 打开 outlook 新邮件

php - 在 PHP 中捕获重复字母 - 正则表达式

php - 对自页面的 Ajax 请求不起作用