zoukankan      html  css  js  c++  java
  • jquery通过递归为easyui生成无限级别的下拉树

    该示例用jquery+easyui来生成下拉树的数据,通过ws传递一个datatable的json数据,然后将此数据在Js中生成easyui tree插件用的json数据,再加载到树上。

    easyui的版本是jQuery EasyUI 1.2.5

    获取第一级数据:

    function BindTree() {
        var gov = $("#dropCity").val();
        var grade = $("#dropGrade").val();
        var subject = $("#dropSubject").val();
        var term = $("#dropTerm").val();
        var edition = $("#dropEdition").val();
        var week = $("#hidCurWeek").val();
        $.ajax({
            type: "POST",
            contentType: "application/json",
            url: "Handler/SysWeekSet.aspx/GetUnitList",
            data: "{gov:'" + gov + "',grade:'" + grade + "',subject:'" + subject + "',term:'" + term + "',edition:'" + edition + "',week:'" + week + "'}",
            dataType: "json",
            success: function(data) {
                var list = eval(data.d);
                var jsonstr = "[";
                for (var i = 0; i < list.length; i++) {
                    if (list[i].CODELEVEL == "1") {
                        if (jsonstr == "[")
                            jsonstr += "{\"id\":\"" + list[i].UNIT_CODE + "\",\"text\":\"" + list[i].UNIT_NAME + "\"" + BindChildNode(list, list[i].UNIT_CODE) + "}";
                        else
                            jsonstr += ",{\"id\":\"" + list[i].UNIT_CODE + "\",\"text\":\"" + list[i].UNIT_NAME + "\"" + BindChildNode(list, list[i].UNIT_CODE) + "}";
                    }
                }
                jsonstr += "]";
                $('#treeUnit').tree("loadData", eval(jsonstr));
            },
            error: function() {
                $.messager.alert('提醒', '数据传输失败');
            }
        });
    }

    获取下级别数据并进行递归: 

    function BindChildNode(source,parcode) {
        var result="";
        for (var i = 0; i < source.length; i++) { 
            if(source[i].PARENTCODE==parcode)
            {
                if(result=="")
                {
                    result=",\"children\":[";
                    result += "{\"id\":\"" + source[i].UNIT_CODE + "\",\"text\":\"" + source[i].UNIT_NAME + "\",\"checked\":" + source[i].ISSELECT + "" + BindChildNode(source, source[i].UNIT_CODE) + "}";
                }
                else
                {
                    result += ",{\"id\":\"" + source[i].UNIT_CODE + "\",\"text\":\"" + source[i].UNIT_NAME + "\",\"checked\":" + source[i].ISSELECT + "" + BindChildNode(source, source[i].UNIT_CODE) + "}";
                }
            }
        }
        if(result!="")
            result +="]";
        return result;
    }
  • 相关阅读:
    C#删除程序自身【总结】
    X86(32位)与X64(64位)有什么区别,如何选择对应的操作系统和应用程序?
    【转】关于C#接口和抽象类的一些说明
    C# 的可空合并运算符(??)到底是怎样的宝宝?
    第三章 “我要点爆”微信小程序云开发之点爆方式页面和爆炸之音页面制作
    微信小程序云开发之云函数的创建与环境配置
    第五章 “我要点爆”微信小程序云开发实例之从云端获取数据制作首页
    第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现
    第四章 “我要点爆”微信小程序云开发之疯狂点击与糖果点爆页面制作
    Git的使用方法与GitHub项目托管方法
  • 原文地址:https://www.cnblogs.com/jinqi79731/p/2344104.html
Copyright © 2011-2022 走看看