---
# System prepended metadata

title: jQuery Datatables前端表格套件
tags: [Javascript套件]

---

###### tags:`Javascript套件` 
# jQuery Datatables前端表格套件

[jQuery Datatables 文件](https://datatables.net/)

[jQuery Datatables教學參考-高級打字員的技術雲](https://dotblogs.com.tw/shadow/2018/04/03/013433)

#### 他有和BOOTSTRAP做樣式整合,可以另外引用css/js[jQuery Datatables BOOTSTRAP樣式](https://cdn.datatables.net/)


### 物件導向引入資料


<iframe height="470" style="width: 100%;" scrolling="no" title="DataTable-Object" src="https://codepen.io/corly74/embed/poNGqdE?height=470&theme-id=dark&default-tab=result" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href='https://codepen.io/corly74/pen/poNGqdE'>DataTable-Object</a> by peiyun
  (<a href='https://codepen.io/corly74'>@corly74</a>) on <a href='https://codepen.io'>CodePen</a>.
</iframe>



```
//html

<div class="container mt-5 " style="margin-bottom: 100px ;">
    <div class="table-responsive">
    <table id="example2" class="table table-striped table-bordered display" width="100%">
    <thead>
        <tr>
            <th>NO</th>
            <th>Date</th>
            <th>Course name</th>
            <th>Lesson name</th>
            <th>Exercise name</th>
            <th>Correct%</th>
            <th>Scores</th>
            <th>Result</th>
            <th>Action</th>
        </tr>       
    </thead>
    <tbody id="example2">

    </tbody>
</table>
</div>
</div>
```

```
// js

let vdata = {"IELTSONLINE":[
    {   
        "id":"1",
        "NO":"",
        "Date":"2021-02-20 15:59:09",
        "Course name":"<a href='https://www.ieltstaipei.com/main/2'  target='_blank'>IELTS Intermediate</a>",
        "Lesson name":"Roots, Prefixes, Suffixes 5",
        "Exercise name":"Roots Prefixes Suffixes Exercise 5",
        "Correct%":"60%",
         "Scores":"6/10",
         "Result":"OPEN",
         "Action":"",
    },

    {   
        "id":"2",
        "NO":"",
        "Date":"2021-03-03 21:14:32",
        "Course name":"<a href='https://www.ieltstaipei.com/main/4'  target='_blank'>TOEFL Beginner</a>",
        "Lesson name":"Practice sets",
        "Exercise name":"Polysemy",
        "Correct%":"50%",
         "Scores":"10/20",
         "Result":"OPEN",
         "Action":"",
    },
    
    ]};
    
    
    $(document).ready(function () {
                
    $("#example2").DataTable( {
        data: vdata.IELTSONLINE,
        // paging: false,
        // info: false,
        // searching: false,
        columns: [
            { data: "NO",
              'render': function(data, type, row, meta)  {
                          return '<div class="d-flex justify-content-center pt-3"><input type="checkbox" name="checklist" value="' + row.name + '" /></div>'
                },
                'width': "1%",
             },
            { data: "Date" },
            { data: "Course name",
              "render": function(data, type, row, meta){
                   if(type === 'display'){
                       data = '<a href="' + data + '">' + data + '</a>'
                   }
                   
                   return data;
                }
            },
            { data: 'Lesson name'},
            { data: 'Exercise name'},
            { data: 'Correct%'},
            { data: 'Scores'},
            { data: 'Result'},
            { data: 'Action',
             'render': function(data, type, row, meta) {
                    return '<button class="btn btn-info btn-sm  mx-1 w-40" data-id=' + data + '><i class="fas fa-edit"></i></button>'
                    + '<button class="btn btn-danger btn-sm   w-40" id="deleteExercise" data-id=' + data.id + '><i class="fas fa-trash-alt"></i></button>'
                } ,
                'width': "12%",
                "targets": -1,
    
             },
        ]
    } ); 
    function deleteMovie(ID){
		params = {
            'action': 'delete',
            'id': ID
        }
        //verified ! 
        //Replaced post by get here just for testing
        // $.post('ExerciseServlet', params, function (data) {
        //     console.log(data);
        // });

          }

     $('body').on('click', '#deleteExercise', function(e){
        var id= $(this).attr("data-id");
        //alert(id);
        deleteMovie(id);
        //Optional delete Row after 
        $(this).parents("tr").remove();
    });

    
    } );
```
    
    
    