学习HTML5(一) - jQuery Datatable学习

收集一些我关心的内容。

链接1 Jquery DataTable基本使用

链接2 jquery datatable[表格处理]

[状态保存] 使用了翻页或者改变了每页显示数据数量,会保存在cookie中,下回访问时会显示上一次关闭页面时的内容。

$(document).ready(function() {
    $('#example').dataTable( {
        "bStateSave": true
    } );
} );

链接3 datatable设置成中文 - 秋风伴落叶 - CSDN博客

翻译DataTable

$('#datatable').DataTable({
  
   language: {
       "sProcessing": "处理中...",
       "sLengthMenu": "显示 _MENU_ 项结果",
       "sZeroRecords": "没有匹配结果",
       "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
       "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
       "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
       "sInfoPostFix": "",
       "sSearch": "搜索:",
       "sUrl": "",
       "sEmptyTable": "表中数据为空",
       "sLoadingRecords": "载入中...",
       "sInfoThousands": ",",
       "oPaginate": {
           "sFirst": "首页",
           "sPrevious": "上页",
           "sNext": "下页",
           "sLast": "末页"
       },
       "oAria": {
           "sSortAscending": ": 以升序排列此列",
           "sSortDescending": ": 以降序排列此列"
       }
   }
});

链接4 DataTables-对最后一列添加按钮事件

其中包含代码

1️⃣生成DataTable

2️⃣单击行, 选中复选框

        //单击行,选中复选框
        $("#example tr").slice(1).each(function(g){
            var p = this;
            $(this).children().slice(1).click(function(){
                $checkbox = $($(p).children()[0]).children()[0];
                if($checkbox.type==="checkbox"){
                    $checkbox.checked = !$checkbox.checked;
                }
            });
        });

我的解释

找到某个表格下的每一行<tr>(数组)

第一行是标题,用slice剪掉. >>SLICE函数用法

对于每一行执行都执行函数. >>EACH函数用法

执行的函数是: 为第一个<td>之外的列添加单击事件处理函数: 为第一个<td>的孩子——复选框,执行选择或者反选的操作

jquery选择器$('selector')返回的不是数组,而是封装好的jquery对象。但这个对象有一个特别的地方,就是查询到的节点被以下标为属性,添加到了jquery对象上,所以它看起来像数组,因为它存在一些属性是数字;>>百度知道

3️⃣单击行,改变行的样式

        //单击行,改变行的样式
        $('#example tbody').on('click', 'tr', function () {    // (1)
            var id = this.id;
            var index = $.inArray(id, selected);

            if (index === -1) {
                selected.push(id);
            } else {
                selected.splice(index, 1);
            }

            $(this).toggleClass('selected');
        });

我的解释

为tbody里的每一个子元素添加click事件. >>jQuery on() 方法

this是tr这个控件, 如果this.ID在selected数组里面, 就删除第index个元素 >>JavaScript splice() 方法

否则, 把id放到selected数组中.

增删class中的"selected"类

4️⃣遍历选中行

        // 遍历选中行
        $("#example tbody tr").click(function (e) {        // (2)
            var table = $('#example').DataTable();

            var rows = table.rows('.selected').indexes();
            var data = table.rows(rows).data();
            for (var i = 0; i < data.length; i++) {
                alert(data[i][1] + "," + data[i][2]);
            }
        });

 某些注释

function(e) {} 的this是<tr>. 代码(1)和代码(2)应该是一样的

警告

注意[3]与[4]的区别,$("#example tbody tr")是静态的,只绑定当前页面中存在的tr,翻页即失效,$('#example tbody').on('click', 'tr', function () 是表格级的,翻页也有效果。

5️⃣全选/全不选

        $('#checkbox_id_all').click(function () {
            $(":checkbox:not(#checkbox_id_all)").attr("checked", this.checked);
        });

我要学会

筛选器: $(":checkbox:not(#checkbox_id_all)")

> attr设置属性, id直接设置id的值, toggleClass增删class

6️⃣修改单元格

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

我要学会

$(this).parents('tr')  从最近的父元素向外的顺序被返回的  >>jQuery 遍历 - parents() 方法

DataTable().row()  获得指定行的数据, 返回值是Array >>row().data()

链接5 给DataTable中添加一行数据 - 小痞子Yang - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值