Jquery dataTables.treeGrid的樹形插件使用
下面給你一份完整、可直接照著做的 dataTables.treeGrid 教程,包含:官方倉庫/CDN、最簡示例、常用配置、AJAX 異步加載、常見坑與解決。
一、插件是什么 & 官方地址
dataTables.treeGrid.js(作者:homfen)是 DataTables 的樹形擴(kuò)展,用來做可折疊/展開的層級表格(部門、菜單、分類等)。
- GitHub:https://github.com/homfen/dataTables.treeGrid.js
- 在線演示:https://homfen.github.io/dataTables.treeGrid.js/
- CDN(直接引用):
<script src="https://cdn.jsdelivr.net/npm/datatables-treegrid@1.0.4/dataTables.treeGrid.min.js"></script>
二、依賴與引入順序
必須按這個順序:
<!-- 1. jQuery --> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script> <!-- 2. DataTables CSS + JS --> <link rel="stylesheet" rel="external nofollow" > <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script> <!-- 3. treeGrid 插件 --> <script src="https://cdn.jsdelivr.net/npm/datatables-treegrid@1.0.4/dataTables.treeGrid.min.js"></script>
三、最簡完整示例(復(fù)制就能跑)
HTML
<table id="myTable" class="display" style="width:100%">
<thead>
<tr>
<th></th> <!-- 展開/折疊圖標(biāo)列 -->
<th>名稱</th>
<th>備注</th>
</tr>
</thead>
</table>JS
$(function () {
// 模擬層級數(shù)據(jù)(必須有 children)
var data = [
{
name: "總部",
remark: "根節(jié)點(diǎn)",
children: [
{
name: "技術(shù)部",
remark: "研發(fā)",
children: [
{ name: "前端組", remark: "Web" },
{ name: "后端組", remark: "Server" }
]
},
{ name: "人事部", remark: "招聘" }
]
}
];
// 初始化 DataTables + treeGrid
$('#myTable').DataTable({
data: data,
columns: [
{ defaultContent: "", width: "30px" }, // 圖標(biāo)列
{ data: "name", title: "名稱" },
{ data: "remark", title: "備注" }
],
// 樹形配置
treeGrid: {
left: 20, // 子節(jié)點(diǎn)縮進(jìn)像素
expandAll: false, // 默認(rèn)是否全部展開
expandIcon: '<span style="color:blue;cursor:pointer;">+</span>',
collapseIcon: '<span style="color:red;cursor:pointer;">-</span>'
}
});
});
四、核心配置項(xiàng)(treeGrid)
treeGrid: {
left: 15, // 子節(jié)點(diǎn)縮進(jìn)(px)
expandAll: true, // 默認(rèn)全部展開
expandIcon: '<span>+</span>', // 展開圖標(biāo)
collapseIcon: '<span>-</span>', // 折疊圖標(biāo)
column: 0 // 圖標(biāo)放在第幾列(默認(rèn) 0)
}
五、AJAX 異步加載(服務(wù)器返回 JSON)
服務(wù)器返回數(shù)據(jù)格式(必須帶 children)
[
{
"name": "總部",
"remark": "根節(jié)點(diǎn)",
"children": [
{ "name": "技術(shù)部", "remark": "研發(fā)" }
]
}
]JS 初始化
$('#myTable').DataTable({
ajax: {
url: "/api/getTreeData",
type: "GET"
},
columns: [
{ defaultContent: "", width: "30px" },
{ data: "name", title: "名稱" },
{ data: "remark", title: "備注" }
],
treeGrid: { left: 20, expandAll: false }
});
六、常用 API(控制展開/折疊)
var table = $('#myTable').DataTable();
var tree = new $.fn.dataTable.TreeGrid(table);
tree.expandAll(); // 全部展開
tree.collapseAll(); // 全部折疊
七、常見坑 & 解決
圖標(biāo)不顯示/點(diǎn)擊沒反應(yīng)
- 檢查引入順序:jQuery → DataTables → treeGrid
- 確保第一列是
defaultContent: ""
子節(jié)點(diǎn)不縮進(jìn)
- 檢查
treeGrid.left是否設(shè)置(如 20)
- 檢查
數(shù)據(jù)加載后樹形失效
- AJAX 返回必須是帶 children 的層級結(jié)構(gòu),不能扁平化
分頁與樹形沖突
- 建議關(guān)閉分頁(
paging: false),樹形表格一般不分頁
- 建議關(guān)閉分頁(
到此這篇關(guān)于Jquery dataTables.treeGrid的樹形插件使用的文章就介紹到這了,更多相關(guān)Jquery dataTables.treeGrid內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Jquery Datatables的使用詳解
- jQuery+Datatables實(shí)現(xiàn)表格批量刪除功能【推薦】
- jQuery Datatables表頭不對齊的解決辦法
- jQuery插件DataTables分頁開發(fā)心得體會
- JQuery.dataTables表格插件添加跳轉(zhuǎn)到指定頁
- jQuery中Datatables增加跳轉(zhuǎn)到指定頁功能
- jquery表格datatables實(shí)例解析 直接加載和延遲加載
- jQuery插件dataTables添加序號列的方法
- jQuery DataTables插件自定義Ajax分頁實(shí)例解析
- jQuery插件datatables使用教程
- jQuery DataTables 專業(yè)表格插件實(shí)用教程
相關(guān)文章
jQuery插件簡單學(xué)習(xí)實(shí)例教程
這篇文章主要介紹了jQuery插件的簡單用法,列舉了分頁插件、放大鏡插件、自動完成插件、上傳插件、日歷插件等的簡單使用方法,需要的朋友可以參考下2016-07-07
toggle一個div顯示或隱藏且可擴(kuò)展成自定義下拉框
本文為大家介紹下如何讓一個div顯示或隱藏且可擴(kuò)展成自定義下拉框,具體實(shí)現(xiàn)如下,感興趣的朋友可參考下,希望對大家有所幫助2013-09-09
jQuery實(shí)現(xiàn)的checkbox級聯(lián)選擇下拉菜單效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的checkbox級聯(lián)選擇下拉菜單效果,涉及jQuery鼠標(biāo)事件響應(yīng)及表格table動態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12
jQuery模仿京東/天貓商品左側(cè)分類導(dǎo)航菜單效果
在京東或者是天貓上可以看到左側(cè)分類導(dǎo)航菜單,當(dāng)鼠標(biāo)滑過導(dǎo)航分類時,會出現(xiàn)詳細(xì)分類模塊,鼠標(biāo)移開就會恢復(fù)默認(rèn)樣式,下面小編給大家?guī)砹嘶?mouseenter()和mouseleave()實(shí)現(xiàn)仿京東/天貓商品左側(cè)分類導(dǎo)航菜單效果,一起看看吧2016-06-06
jquery全選/全不選/反選另一種實(shí)現(xiàn)方法(配合原生js)
本文主要介紹下jquery另一種全選、全不選、反選的方式(與原生js混合使用),感興趣的朋友可以參考下哈,希望對你有所幫助2013-04-04
jQuery實(shí)現(xiàn)磁力圖片跟隨效果完整示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)磁力圖片跟隨效果,結(jié)合完整實(shí)例形式分析了jQuery事件響應(yīng)及animate方法實(shí)現(xiàn)帶緩沖效果的圖片跟隨效果,需要的朋友可以參考下2016-09-09
jquery表格datatables實(shí)例解析 直接加載和延遲加載
這篇文章主要針對jquery表格datatables實(shí)例進(jìn)行解析,可以直接加載和延遲加載,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08

