本文实例讲述了jquery实现自定义树形表格的方法。分享给大家供大家参考,具体如下:
话不多说,直接上代码(本代码仅提供思路):
函数不知道(数据、t、p) { $ (" # datatable”+ t + tbody)空虚(); var计算=data.length; var html="; 如果(计数比;0){ (var=0;我& lt;计数;我+ +){ var btn="; 如果(数据[我]。_child,,[我]._child数据。长度比;0){ btn=' & lt;我class=" layui-icon mt-icon”data-tid=" +数据[我]。category_id添加+“-”+数据[我]。id +“-”+ t +”“data-pid=" +数据[我]。category_id添加+“-”+数据[我]。pid +“-”+ t +”祝辞,# xe623; & lt;/i>”; 其他}{ btn=' & lt;我类=癿t-icon”data-tid=" +数据[我]。category_id添加+“-”+数据[我]。id +”“data-pid=" +数据[我]。category_id添加+“-”+数据”[我].pid +祝辞& lt;/i>”; } html +=+ & lt; tr祝辞 ”& lt; td祝辞,“[我]. name + btn +数据+ '(' +数据[我]。标题+ ')' + + & lt;/td> “& lt; td>”+(数据[我]。source_name & # 63;数据[我]。source_name:“) + + & lt;/td> “& lt; td>”+数据[我]。show_time + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。current_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。prev_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。last_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。预算数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。budget_rate ' % ') + + & lt;/td> “& lt; td>”+ dataFormat(数据[我].record_rate) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。妈妈,‘%’)+ + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。同比,' % ')+ + & lt;/td> ' & lt; td> & lt;我类=發ayui-icon祝辞,# xe62c; & lt;/i> & lt;/td>' + “& lt;/tr>”; 如果(数据[我]。_child,,[我]._child数据。长度比;0){ html=createNewTable(数据[我]._child, html, 1 t); } } 其他}{ html=' & lt; tr> & lt; td colspan=?2”比;暂无数据& lt;/td> & lt;/tr>; } $ (" # datatable”+ t +“身体”). html (html);//插入的表格 initTreeAction (t);//结构初始化 } 函数createNewTable(数据、html、y, t) { var计算=data.length; var num=+ + y; (var=0;我& lt;计数;我+ +){ var btn="; css var="; css=' indent: ' + (num * 20) +“px;”; 如果(数据[我]。_child,,[我]._child数据。长度比;0){ css=' indent: ' + (num==2 & # 63; 20: (num-1) * 20) +“px;”; btn=' & lt;我class=" layui-icon mt-icon”data-tid=" +数据[我]。category_id添加+“-”+数据[我]。id +“-”+ t +”“data-pid=" +数据[我]。category_id添加+“-”+数据[我]。pid +“-”+ t +”数据类型=癲ir”祝辞,# xe623; & lt;/i>”; 其他}{ btn=' & lt;我类=癿t-icon”data-tid=" +数据[我]。category_id添加+“-”+数据[我]。id +“-”+ t +”“data-pid=" +数据[我]。category_id添加+“-”+数据[我]。pid +“-”+ t +”数据类型=拔募弊4? lt;/i>”; } html +=+ & lt; tr祝辞 ”& lt; td祝辞,“[我]. name + btn +数据+ '(' +数据[我]。标题+ ')' + + & lt;/td> “& lt; td>”+(数据[我]。source_name & # 63;数据[我]。source_name:“) + + & lt;/td> “& lt; td>”+数据[我]。show_time + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。current_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。prev_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。last_record、数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。预算数据[我].unit) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。budget_rate ' % ') + + & lt;/td> “& lt; td>”+ dataFormat(数据[我].record_rate) + + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。妈妈,‘%’)+ + & lt;/td> “& lt; td>”+ dataFormat(数据[我]。同比,' % ')+ + & lt;/td> ' & lt; td> & lt;我类=發ayui-icon祝辞,# xe62c; & lt;/i> & lt;/td>' + “& lt;/tr>”; 如果(数据[我]。_child,,[我]._child数据。长度比;0){ html=createNewTable (num数据[我]._child, html, t); } } 返回html; } 函数showLowData (obj) { var=$ (obj)中期.attr (“data-tid”); var isOpen=$ (obj) .hasClass(“开放”); 如果(isOpen) { $ (obj) .removeClass(“开放”); 如果($ (obj) .hasClass (layui-icon)) { $ (obj) . html (“, # xe623;”); } 其他}{ $ (obj) .addClass(“开放”); 如果($ (obj) .hasClass (layui-icon)) { $ (obj) . html (“, # xe625;”); } } $ (obj) .parents(身体);(tr)。每个(函数(){ var太=$(这);(“.mt-icon”); var pid=mt.attr (“data-pid”); var=mt.hasClass开放(“开放”); var type=mt.attr(“数据类型”); 如果(中期==pid) { 如果(isOpen) { (美元)hide (); 如果(类型==癲ir”,,打开==isOpen) { mt.trigger('点击'); } 其他}{ (美元),告诉(); } } }); }jquery实现自定义树形表格的方法【自定义树形结构表】