DataTables从入门到精通

1 Table的初始化以及国际化

1.1 默认初始化

$(function(){
    var table = $('#example').dataTable();
});

1.2 高级自定义初始化

$(function() {
var table = $('#example').DataTable({
    "data" : dataArray,//数据源
    "aoColumnDefs":[//设置列的属性,此处设置第一列不排序
       {
"bSortable": false, 
"aTargets": [0]//指第一列,aTargets与targets均可以指定某一列
},{
               "targets": [7],
               "visible": false,//隐藏列
               "searchable": false//不参与搜索
           },{
        "targets": -1,
        "class": "but_xq",
        "bSortable": false,
        "data": null,
        "defaultContent": "<p><a id=\"del\"  href=\"###\">删除</a></p>"//为最后一列添加按钮标签
        } 
      ],
    "aaSorting": [[1, "desc"]], //给列表排序 ,第一个参数列的索引号(由0开始)。1 表示第二列。第二个参数为 desc或是asc,表示升序或者降序。即:从第二列开始倒序排序
    "oLanguage": {//插件的汉化
        "sLengthMenu": "每页 _MENU_ 条数据",
        "sZeroRecords": "抱歉, 没有找到",
        "sInfo": "_START_ 到 _END_ /共 _TOTAL_ 条数据",
        "sInfoEmpty": "没有数据",
        "sInfoFiltered": "(从 _MAX_ 条数据中检索)",
        "oPaginate": {
            "sFirst": "首页",
            "sPrevious": "前一页",
            "sNext": "后一页",
            "sLast": "尾页"
        },
        "sZeroRecords": "没有检索到数据",
        "sProcessing": "<img src='/static/images/loadd.gif' />",
        "sSearch": "搜索"
    },
    "sDom":'<"top"lf<"clear">>rt<"bottom"ip<"clear">>',//自定义布局sdom:l- 每行显示的记录数;f- 搜索框;t- 表格;i- 表格信息;p- 分页条;r- 加载时的进度条
    "lengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "全部"]],//每页显示条数的设置
    "sPaginationType": "full_numbers"//设置分页按钮显示的样式,
});
});

2 Tr的操作

2.1 获取tr对象的集合

获取所有页的所有tr集合:

$('#example').dataTable().fnGetNodes();

获取当前页的所有tr集合:

$('tr');

获取当前页的所有选中的tr集合:
$(‘tr.selected’);
点击最后一列的按钮,获取当前行:

$('#example').DataTable().row($(this).parents('tr'));//对象,可以用于删除该行等操作
$(this).parents('tr')[0];//可以获取改行的所有节点,以及各个节点的数值

2.2 获取tr的数据

2.2.1 根据列中的按钮获取行数据

$('#example tbody').on( 'click', 'a#edit', function () {
    var data =     $('#example').DataTable().row($(this).parents('tr')).data();
    alert("查看修改:"+data[1] +","+ data[2] );
} );

2.2.2 批量获取选中行的数据

var data = $('#example').DataTable().rows('.selected').data();

2.3 删除TR

$('#example tbody').on( 'click', 'a#del', function () {
var tr = $('#example').DataTable().row($(this).parents('tr'));
    tr.remove().draw(false);
} );

2.4 为TR绑定事件

比如为最后一列的查看修改按钮绑定单击事件,正确的方式如下:

$('#example tbody').on( 'click', 'a#edit', function () {
    var data = $('#example').DataTable().row($(this).parents('tr')).data();
    alert("查看修改:"+data[1] +","+ data[2] );
} );

如果修改成如下的方式,则只能为首页的按钮绑定事件,其他页则没有绑定上单击事件,错误绑定方式代码如下:

$('a#edit').click( function () {
        var data = $('#example').DataTable().row($(this).parents('tr')).data();
    alert("查看修改:"+data[1] +","+ data[2] );
} );

因为('a#edit')选定的是页面上存在的元素,控件默认只显示第一页的数据,因此只绑定在了第一页上。而(‘#example tbody’)针对的是table中的所有对象,包括页面上将要显示的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值