jQueryDatatable自定義列

jQuery Datatable是一個(gè)很強(qiáng)大的表格工具,其實(shí)大家可以參考Datatable官方網(wǎng)站來(lái)查看具體的實(shí)例以及他對(duì)應(yīng)的API。在此我們不去講解如何實(shí)現(xiàn)后端的分頁(yè)、排序、查找,本文重點(diǎn)講解如何對(duì)Datatable中的表格內(nèi)容進(jìn)行操作,包括改變他的樣式、增加一列非數(shù)據(jù)列以及非數(shù)據(jù)列傳遞主鍵參數(shù)。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、信陽(yáng)網(wǎng)站維護(hù)、網(wǎng)站推廣。

首先,我們來(lái)定義我們的數(shù)據(jù),本文就不去通過(guò)后端代碼實(shí)現(xiàn)數(shù)據(jù)傳遞,就直接通過(guò)一個(gè)數(shù)據(jù)文件作為數(shù)據(jù)源。如下:

{
  "data": [
    {
      "name": "Tiger Nixon",
      "position": "System Architect",
      "salary": "$320,800",
      "start_date": "2011/04/25",
      "office": "Edinburgh",
      "extn": "5421"
    },
    {
      "name": "Garrett Winters",
      "position": "Accountant",
      "salary": "$170,750",
      "start_date": "2011/07/25",
      "office": "Tokyo",
      "extn": "8422"
    },
    {
      "name": "Ashton Cox",
      "position": "Junior Technical Author",
      "salary": "$86,000",
      "start_date": "2009/01/12",
      "office": "San Francisco",
      "extn": "1562"
    }
    // ......
   ]
}

接下來(lái),我們對(duì)我們的頁(yè)面代碼進(jìn)行編寫,至于表格樣式如何編寫,請(qǐng)參考官方提供的css,表格代碼如下:

<table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
                <th>Operation</th> <!-- 這一列為自定義列 -->
            </tr>
        </thead>
                                                                                                                                                                                                                                      
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
                <th>Operation</th> <!-- 這一列為自定義列 -->
            </tr>
        </tfoot>
    </table>

最后,我們重點(diǎn)來(lái)看JS如何編寫。因?yàn)槲覀兊臄?shù)據(jù)源是用Object數(shù)組,因此我們需要去定義我們的datatable每一列對(duì)應(yīng)的數(shù)據(jù)列名。為了增加一列以實(shí)現(xiàn)改變列樣式,刪除和修改操作鏈接我們需要對(duì)具體的列進(jìn)行定義,這里用到datatable的columnDefs,代碼如下:

$(document).ready(function() {
        $('#example').dataTable({
            "ajax" : 'data.txt',
            "columns": [
                        { "data": "name", "visible": false},
                        { "data": "position" },
                        { "data": "office" },
                        { "data": "extn" },
                        { "data": "start_date" },
                        { "data": "salary" }
                    ],
             "columnDefs": [
                  // 將Salary列變?yōu)榧t色
                  {
                      "targets": [5], // 目標(biāo)列位置,下標(biāo)從0開(kāi)始
                      "data": "salary", // 數(shù)據(jù)列名
                      "render": function(data, type, full) { // 返回自定義內(nèi)容
                          return "<span style='color:red;'>" + data + "</span>";
                      }
                  },
                  // 增加一列,包括刪除和修改,同時(shí)將我們需要傳遞的數(shù)據(jù)傳遞到鏈接中
                  {
                      "targets": [6], // 目標(biāo)列位置,下標(biāo)從0開(kāi)始
                      "data": "name", // 數(shù)據(jù)列名
                      "render": function(data, type, full) { // 返回自定義內(nèi)容
                          return "<a href='/delete?name=" + data + "'>Delete</a>&nbsp;<a href='/update?name=" + data + "'>Update</a>";
                      }
                  }
              ]
        });
    });

運(yùn)行代碼,效果圖如下:

jQuery Datatable 自定義列

當(dāng)我們?nèi)c(diǎn)擊刪除、更新鏈接時(shí),都會(huì)發(fā)現(xiàn)我們傳遞進(jìn)去的Name。注意:此處本實(shí)例將name列隱藏了,可以參考列定義中的配置。

由于公司需要使用該技術(shù),因此在近期博主會(huì)對(duì)前臺(tái)和后臺(tái)進(jìn)行一個(gè)抽象,屆時(shí)會(huì)發(fā)布到本博客,請(qǐng)持續(xù)關(guān)注,謝謝。

附:jQuery Datatable Official Site: http://www.datatables.net

網(wǎng)頁(yè)題目:jQueryDatatable自定義列
文章源于:http://bm7419.com/article16/gijjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、Google、定制網(wǎng)站標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)