DataTable初次使用筆記


概述:DataTable是一個jQuery插件,用於生成HTML表格,功能很強大。

使用:

使用DataTable需要引入jQuery,因為他是基於jQuery的插件,然后引入DataTable的js文件和css文件即可,下面貼出該文章編寫時使用的cdn。

<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css">
<script type="text/javascript" src="//cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>

然后我們需要在頁面中定義一個table標簽,並為其指定一個id

<table id="mTable"></table>

調用DataTable提供的初始化方法

$('#mTable').dataTable();

現在DataTable已經創建完成了,不過我們好像什么都看不到,因為沒有表格數據嘛,當然是一片空白,接下來我們為這個表格加上一個表頭

在table標簽中加入如下代碼

<table id="mTable">
    <thead>
        <tr>
            <td>姓名</td><td>年齡</td><td>性別</td>
        </tr>
    </thead>
</table>

再刷新網頁是不是就能看到一個表格的效果了?下面就是對表格進行各種配置了,代碼全部貼出來,一個一個解釋

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css">
    <title>Datatable</title>
    <script type="text/javascript" src="//cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script type="text/javascript" src="//cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
    <style type="text/css">
        .loading-img {
            position: fixed;
            left: 50%;
            top: 50%;
        }
    </style>
</head>
<body>
<table id="mTable">
    <thead>
        <tr>
            <td>姓名</td><td>年齡</td><td>性別</td>
        </tr>
    </thead>
</table>

<script type="text/javascript">
    $('#mTable').dataTable({
        language: {
            url: '//cdn.datatables.net/plug-ins/1.10.13/i18n/Chinese.json'
        },
        serverSide: true,
        ordering: false,
        searching: false,
        ajax: '/data.php',
        columns: [
            {data: 'name', title: '姓名'},
            {data: 'age', title: '年齡'},
            {data: 'sex', title: '性別'}
        ],

        // 僅僅在表格第一次初始化完成的時候調用
        initComplete: function( settings, json ) {
            alert('initComplete');
        },

        // 表格HTML畫完完的時候觸發,在initComplete之前
        drawCallback: function(settings) {
            alert( 'drawCallback' );
        },

        // 每畫完一行就調用一次本方法
        "rowCallback": function(row, data, index) {
            console.log(data, row);
        }
    }).on('preXhr.dt', function(e, settings, data) {
        loading();
    }).on('xhr.dt', function(e, settings, json, xhr) {
        unloading();
    });

    function loading() {
        var content = '<img class="loading-img" src="/loading178.gif" />';
        $('body').append(content);
    }

    function unloading() {
        $('.loading-img').remove();
    }
</script>
</body>
</html>

language是指定表格所使用的語言,上面指的是用中文(官方提供的json文件cdn)

serverSize是一個很重要的參數,這個參數表明,對表格的數據分頁,以及排序等操作都放到服務端去完成,啟用這個參數之后,其對ajax指定的地址發起請求會帶很多參數,這里暫不做講解,不明白的朋友可以下面回復。

ordering和searching分別指定表格是否啟用排序和搜索

ajax指表格中的數據源,即一個URL地址

columns指定每一列的數據綁定,其中data就是綁定的名稱

最下面兩個on是事件,分別表示發起ajax請求之前和請求結束的回調函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM