`

easyui tree checkbox tree-hit

阅读更多
文笔不好,部分代码.只为笔记用!
主要功能: 单击条目可选中对应的checkbox,单击非末节点展开/合并.
$(function() {
	$('body').layout();
	$('#tree').tree({
		url : '<%=doName%>?active=<%=active%>',
		checkbox:true,
		onClick:function(node){
			// 单击展开/合并
			var hit = $(node.target).children("span.tree-hit");
			if (hit.hasClass("tree-collapsed")) {
				hit.removeClass("tree-collapsed").addClass("tree-expanded");
				hit.next().addClass('tree-folder-open');
				var ul = $(node.target).next();
				ul.css('display','block');
			} else if (hit.hasClass("tree-expanded")) {
				hit.removeClass("tree-expanded").addClass("tree-collapsed");
				hit.next().removeClass('tree-folder-open');
				var ul = $(node.target).next();
				ul.css('display','none');
			} else {  //单击选中checkbox
				var checkbox = $(node.target).children("span.tree-checkbox");
				if(checkbox.hasClass("tree-checkbox0")) {
					checkbox.removeClass("tree-checkbox0").addClass("tree-checkbox1");
				} else {
					checkbox.removeClass("tree-checkbox1").addClass("tree-checkbox0");
				}
			}
		},
		//数据加载完成后对数据进行处理
	    onLoadSuccess:function(){
	    	getChecked();
	    }
	});
});
	
function getChecked(){
	 //循环判断
	 var nodes = $('.tree-node');//树形div的class
	 if(nodes.length>0) //过滤第一次加载时没有数据
	 {   
	    var u_id = "<%=oI%>".split(",");
	    $('.tree-node').each(function(i){
		    var node_id = $(this).attr("node-id");//树形div中node-id,其中保存的是数据的ID
		    if(u_id !="null"|| u_id != null || u_id !="" || u_id != "undefined"){
			    for(var i=0; i < u_id.length; i++) {
				    if(node_id == u_id[i]) {
				        //$(this).addClass("tree-node-selected");//修改class为选定状态
				        //var node = $('#tree').tree('find',u_id[i]);
				       	$(this).children(".tree-checkbox").addClass("tree-checkbox1");
				    }
			    }
			}
	  	});   
	 }
}
function process(){
	// 获取所有树节点
	var node = $('#tree').tree('getChecked');
	var nodes = "";
	for(var i=0;i<node.length;i++){
		// 树节点ID
		nodes += "'" + node[i].id + "'" + ",";
	}   
	nodes = nodes.substring(0,nodes.length-1);
		var map = new Map();
              map.put("active", "GETFJD");
              map.put("Ug_id", nodes);
		AjaxSend("<%=sysPath%>/PT_FX_FAX.do", "json", map,delNode); 
}
// 实现同步传输,服务器响应完毕后继续向下执行
function AjaxSend(url, wdataType, data,successFunction) {
    wdataType = wdataType==""?"Intelligent Guess":wdataType;
    $.ajax({
        url:url,
        type:'POST',
        dataType:wdataType,
        async:false,			//-----
        data: data.Objects(),
        beforeSend:function(){
            jBeforeSend()
        },
        complete :function(){
            jCompleted()
        },
        error:function(event){
            jError(event)
        },
        success:function(event){
            jSuccess(event,successFunction)
        }
    });
}


<div id="dataShow" region="center" border="false" style="overflow: auto">
      <ul id="tree" style="padding:20px"></ul>
</div>
  • 大小: 50.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics