数据表在页面加载时设置选择

时间:2016-08-11 10:23:30

标签: jquery datatables

使用复选框进行选择。单击复选框时,将选中该行:

    select: {
        style: 'multi',
        selector: ':checkbox'
    }

我想将选定的行保存到数据库中,我是通过使用选中的复选框的ID来完成的。当我加载带有复选框的页面时,我将选中的复选框类别设置为:

    $('input:checked').each(function() {
        var $row = $(this).closest('tr');
        $row.addClass('selected');
    });

当页面被加载时,dataTables不会在美学上将其确认为选择。该行突出显示但是当我尝试使用诸如下载到excel按钮之类的功能(仅下载所选行)时,它没有找到要下载的任何选定行。好像我只应用了CSS样式而不是它背后的相应功能。当我取消选中已加载的复选框时,该行不会返回到未选中的状态,它会保持高亮显示,就像我刚刚选中它一样。

            {
                extend: 'excel',
                text: 'Download Excel',
                exportOptions: {
                    columns: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
                    modifier: {
                        selected: true
                    }
                }
            }

如何加载带有复选框的页面并让dataTables将其识别为美学以外的其他选项?

重新创建: 单击任何复选框以选择行,下载excel - works 单击按钮重新加载 - 重新加载选中的行,单击下载excel,没有下载任何内容。 Untick行突出显示,无法识别为unselect。

https://jsfiddle.net/mbgfwjh2/3/

1 个答案:

答案 0 :(得分:0)

原来我错过了select()功能。只需检索复选框的行并对其调用select():

    $('input:checked').each(function() {
        var $row = $(this).closest('tr');           
        table.row($row).select();
    });