javascript - 行复选框在 jQuery 数据表中不起作用

标签 javascript c# jquery asp.net-mvc datatable

我正在使用带有复选框列的 jQuery 数据表来在按钮单击事件中选择选中的行值。请看我的下图。

enter image description here

我使用此代码来获取支票行

        var checkedRows = dtTable._('tr.checked', { "filter": "applied" });

我的问题是,当我单击标题行复选框时,它工作正常。但它显示为空

在单行复选框中单击。我一无所知。

编辑

Firebug

enter image description here

JQuery

var dtTable = null;
var ajaxUrl = "";

$(document).ready(function () {

    GetCustomerAcceptence();

    $("#btnReceived").click(function () {

        var checkedRows = dtTable._('tr.checked', { "filter": "applied" });

        if (checkedRows == null) {
            alert("checkedRows is null.");
        }
        else {
            alert("checkedRows is not null. Value : " + checkedRows[0][1]);
        }
    });

    function GetCustomerAcceptence() {

        /* Clear datatable before reload. */

        ClearDataTable();

        var elementName = "";

        ajaxUrl = "";

        elementName = "#tblCustomerAcceptence";

        ajaxUrl = '@Url.Action("GetCustomerAcceptenceOrders", "Dispatch")';

        dtTable = $(elementName).dataTable({
            bProcessing: false,
            bLengthChange: false,
            bInfo: false,
            bFilter: false,
            bPaginate: false,
            sAjaxSource: ajaxUrl,
            aoColumns: [
                 {
                     "sClass": "checkbox-column",
                     bSortable: false,
                     "mRender": function (data, type, full) {
                         return '<input type="checkbox" onclick="check(this)" class="icheck-input">';
                     }
                 },
                 { sTitle: "Id", bSortable: false, bVisible: false },
                 { sTitle: "Number", bSortable: false, },
                 { sTitle: "Description", bFilterable: true, bSortable: false, },
                 { sTitle: "PoBox Number", bSortable: false, },
                 { sTitle: "Owner", bSortable: false, },
                 { sTitle: "Physical Weight", bSortable: false, },
                 { sTitle: "Vol.Weight", bSortable: false, },
                 { sTitle: "Last Status", bSortable: false, },
                 { sTitle: "Zone", bSortable: false, },
            ],
            "fnServerParams": function (aoData) {
                aoData.push(
                                { "name": "MasterAWB", "value": "0" },
                                { "name": "PoboxNumber", "value": "0" },
                                { "name": "TypeofGoods", "value": 0 },
                                { "name": "Provider", "value": 0 },
                                { "name": "DateFrom", "value": "0" },
                                { "name": "DateTo", "value": "0" },
                                { "name": "Zone", "value": 0 },
                                { "name": "BagNumber", "value": "0" }
                );
            },
        });
    }

    function ClearDataTable() {

        if (dtTable != null) {
            dtTable.dataTable().fnClearTable();
            dtTable.dataTable().fnDestroy();
        }

    }
});

最佳答案

非常抱歉,复选框列中有一个错误。我需要在网页中放置检查功能来触发复选框选中事件。

/* checkbox in table */

function check(e) {
    if ($(e).parent('td').parent('tr').hasClass('checked')) {
        $(e).parent('td').parent('tr').parent('tbody').parent('table').children('thead').find('th:first').children('div').removeClass('checked');
        $(e).parent('td').parent('tr').removeClass('checked');
    }
    else {
        $(e).parent('td').parent('tr').addClass('checked');
        dtTable.fnDraw();
    }
}

/* end */

关于javascript - 行复选框在 jQuery 数据表中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987623/

相关文章:

javascript - 有没有办法用 Vue.JS SPA 刷新 Laravel Passport 的 cookie token ?

javascript - UI路由器改变状态而不改变url

c# - 将呈现的 HTML 写入文件

javascript - 我无法从移动设备上的输入中写入任何值

javascript - jQuery 菜单滑动悬停故障

javascript - 复选框仅在搜索后第二次单击后才有效

javascript - Firefox 删除基本授权信息

c# - 如何从 SQL 查询 C# 获取所有值

c# - 在 C# 中使用带有正则表达式的 Directory.GetFiles?

jquery - datatables jquery 在 "sClass"上提供动态数组索引值