JQuery zTree树结构使用

此博文只是针对项目中应用到的总结,想了解zTree的其它用法,可以参考zTree官网: http://www.ztree.me/v3/main.php#_zTreeInfo

效果图:

javascript代码:

    <script src="/Scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="/Scripts/tree/jquery.ztree.all-3.5.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var zNodesycBQ = [<%=GetSelectBQ(3) %>];//后台取出的ztree要求的JSON格式数据
        var zNodesycHLCS = [<%=GetSelectHLCS(3) %>]; //后台取出的ztree要求的JSON格式数据
//在点击之前执行,如果已选择则设置不选中,否则设置选中
function setBeforeClick(domId, treeNode) {
    var zTree = $.fn.zTree.getZTreeObj(domId);
    if (zTree != null) {
        zTree.checkNode(treeNode, !treeNode.checked, true, true);
    }
    return true;
}
//点击之后执行 计算等操作 病情
function onCheckBQ(e, treeId, treeNode) {
    setOnCheckBQ("yc", treeNode);
}
function setOnCheckBQ(domId, treeNode) {
    var zTree = $.fn.zTree.getZTreeObj("tree" + domId + "BQ");
    if (zTree != null) {
        var nodes = zTree.getCheckedNodes(true);
        var xuanxian = "";
        var zongfen = 0;
        var b = false;
        for (var i = 0, l = nodes.length; i < l; i++) {
            var strs = nodes[i].ename.split('|');
            xuanxian += strs[0] + ",";
            if (strs[0] == 15) {//选择已发生压疮
                b = true;
            }
            zongfen += parseInt(strs[1]);
        }
        if (xuanxian.length > 0) xuanxian = xuanxian.substring(0, xuanxian.length - 1);
        //大于设置分值,或者有疮,则需要勾选翻身
        var hlcsTree = $.fn.zTree.getZTreeObj("tree" + domId + "HLCS");
        if (zongfen >= parseInt($("#txtEvaluationScore").val()) || b) {
            hlcsTree.checkNode(hlcsTree.getNodeByParam("id", 2, null), true, true);
        } else {
            hlcsTree.checkNode(hlcsTree.getNodeByParam("id", 2, null), false, true);
        }
        //小于指定分值或者有疮,需要预报
        if (zongfen >= parseInt($("#txtEvaluationScore").val()) || b) {
            $("#tfootYB").show();
            $("#tableYB").show();
            $("#btPostionAdd").show();
            $("#bt" + domId + "NMRC").removeAttr("disabled");
            $("#bt" + domId + "NMRC").removeClass("aspNetDisabled");
        } else {
            $("#tfootYB").hide();
            $("#tableYB").hide();
            $("#btPostionAdd").hide();
            $("#bt" + domId + "NMRC").attr("disabled", "disabled");
            $("#bt" + domId + "NMRC").addClass("aspNetDisabled");
        }
        $("#lbl" + domId + "ZF").text(zongfen);
        $("#txt" + domId + "XX").val(xuanxian);
        $("#txt" + domId + "ZF").val(zongfen);
    }
}
//点击之后执行 计算等操作 措施
function onCheckCS(e, treeId, treeNode) {
    setOnCheckCS("yc", treeNode);
}
function setOnCheckCS(domId, treeNode, txtXuanXianId) {
    var zTree = $.fn.zTree.getZTreeObj("tree" + domId + "HLCS");
    if (zTree != null) {
        var nodes = zTree.getCheckedNodes(true);
        var xuanxian = "";
        for (var i = 0, l = nodes.length; i < l; i++) {
            xuanxian += nodes[i].ename + ",";
        }
        if (xuanxian.length > 0) xuanxian = xuanxian.substring(0, xuanxian.length - 1);
        $("#txt" + domId + "HLCS").val(xuanxian);
    }
}
var settingycBQ = { check: { enable: true, chkStyle: "checkbox", chkboxType: { "Y": "ps", "N": "ps"} }, data: { simpleData: { enable: true} }, callback: { beforeClick: beforeClickycBQ, onCheck: onCheckBQ} };
function beforeClickycBQ(treeId, treeNode) { setBeforeClick("treeycBQ", treeNode); };

var settingycCS = { check: { enable: true, chkStyle: "checkbox", chkboxType: { "Y": "ps", "N": "ps"} }, data: { simpleData: { enable: true} }, callback: { beforeClick: beforeClickycCS, onCheck: onCheckCS} };
function beforeClickycCS(treeId, treeNode) { setBeforeClick("treeycHLCS", treeNode); };

$(function () {
    $.fn.zTree.init($("#treeycBQ"), settingycBQ, zNodesycBQ);
    $.fn.zTree.init($("#treeycHLCS"), settingycCS, zNodesycHLCS);
    //评分分值小于预报分值并且 已发生压疮未选中
    if (parseInt($("#txtycZF").val()) < parseInt($("#txtEvaluationScore").val()) && $("#treeycBQ_12_check").attr("class") == "button chk checkbox_false_full") {
        $("#tfootYB").hide();
        $("#tableYB").hide();
        $("#btPostionAdd").hide();
    }
});
    </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/ful1021/p/4804439.html