jquery datatable 多行(单行)选择(select),行获取/行删除

jquery datatable 多行(单行)选择(select),行获取/行删除

代码展示

// 示例数据源
var dataSet = [
    ['Tasman','Internet Explorer 5.2','Mac OS 8-X','1','C'],
    ['Misc','NetFront 3.1','Embedded devices','-','C'],
    ['Misc','NetFront 3.4','Embedded devices','-','A'],
    ['Misc','Dillo 0.8','Embedded devices','-','X'],
    ['Misc','Links','Text only','-','X'],
    ['Misc','Lynx','Text only','-','X'],
    ['Misc','IE Mobile','Windows Mobile 6','-','C'],
    ['Misc','PSP browser','PSP','-','C'],
    ['Other browsers','All others','-','-','U'],
    //...
];

$(document).ready(function() {
    $('#example').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );

    //这里插入数据使用的是`dataTable`(注意`dataTable`大小写)
    $('#demo').dataTable( {
        "data": dataSet,
        "columns": [
            { "title": "Engine" },
            { "title": "Browser" },
            { "title": "Platform" },
            { "title": "Version", "class": "center" },
            { "title": "Grade", "class": "center" }
        ]
    } );
} );

正常效果展示:

单选代码:

//1.首先获取datatable对象(注意大小写`DataTable()`):
var Dtable = $('#demo').DataTable();
$('#demo tbody').on('click', 'tr', function () {
    if ($(this).hasClass('selected') ) {
       $(this).removeClass('selected');
    } else {
       table.$('tr.selected').removeClass('selected');
       $(this).addClass('selected');
    }
}

单选后效果展示:

多选代码:

var Dtable = $('#demo').DataTable();
$('#demo tbody').on('click', 'tr', function () {
    $(this).toggleClass('selected');
}

多选后效果展示:

获取选中行 :

var Dtable = $('#demo').DataTable();
$('button').click(function () {
    alert( Dtable.rows('.selected').data().length +' row(s) selected' );
});

删除选中行 :

var Dtable = $('#demo').DataTable();
$('button').click(function () {
    //单行删除
    //Dtable.row('.selected').remove().draw(false);
    //多行删除
    Dtable.rows('.selected').remove().draw(false);
});

注意事项:

在获取datatable的对象时,datatable的大小写字母要区分开,不然会报错:

Uncaught TypeError: Dtable.row is not a function

转载于:https://www.cnblogs.com/rysinal/p/5834443.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值