/** * bootstable 表格树形插件 * caratename:雨中磐石(rainrock) * caratetime:2014-04-06 21:40:00 * email:admin@rockoa.com * homepage:www.rockoa.com */ (function ($) { function bootstree(element, options){ var obj = element; var can = options; var rand = can.rand; var me = this; this.bool = false; this.changedata = false; //初始化 this.init = function(){ if(rand=='')rand=js.getrand(); this._init(); this._create(); if(can.autoLoad && !isempt(can.url))this._load(); }; this._init = function(){ var a,s,i; for(i=0; i'; obj.html(s); }; this._create = function(){ var a = can.columns; var s = '',i,len=a.length,hs; this._zoi = -1; this._zoiarr = []; this.changedata = false; if(!can.hideHeaders){ s+='
'; s+=''; s+='
'; } s+=this._createjd(can.data, 0, 'treenode'); $('#treebody_'+rand+'').html(s); obj.find("i[temp='nodeclick']").click(function(){ me._explade(this); }); this.trobj = obj.find('ul[dataid]'); this.trobj.click(function(event){ me._itemclick(this, event, 0); }); this.trobj.dblclick(function(event){ me._itemdblclick(this, event); }); $('#seltablecheck_'+rand+'').click(function(){ js.selall(this, 'treecheck_'+rand+''); }); } this.viewreload = function(){ this._create(); }; this._itemclick= function(o1, e, lx){ this.trobj.css('background',''); var o = $(o1); o.css('background', can.selectColor); var oi = parseFloat(o.attr('oi')); var a = this._zoiarr[oi]; this.changedata = a; this.changeid = a.id; if(lx==0)can.itemclick(a, oi, e); if(lx==1)can.itemdblclick(a, oi, e); }; this._itemdblclick=function(o1,e){ this._itemclick(o1,e,1) }; this._explade = function(o){ var o1 = $(o); var sid = o1.attr('nodeclick'); var exp = o1.attr('expanded'); if(exp=='true'){ obj.find("div[nodexu='"+sid+"']").hide(); o1.attr('expanded','false'); }else{ obj.find("div[nodexu='"+sid+"']").show(); o1.attr('expanded','true'); } } this._createjd = function(d, oi, xlx){ var a = can.columns; var s = '',i,len=d.length,j,jlen = a.length,s1,ionc,s2='',s3,id, diss='',ov; for(i=0;i0){ diss = ''; if(!d[i].expanded)diss='none'; s2= this._createjd(d[i].children, oi+1, id); s2 = '
'+s2+'
'; } } this._zoi++; ov = d[i]; this._zoiarr[this._zoi] = ov; s+='