SpingMVC、easyui 使用onBeforeExpand()方法异步加载树时,后台接收不到id。

发布于 2022-09-04 11:38:29 字数 2463 浏览 13 评论 0

这是前台的代码:已经成功出现树。
onBeforeExpand()方法中的url后已经拼上了id。id是有值的。

$(function() {
        $("#department")
                .tree(
                        {
                            url : "/department",
                            animate : true,
                            method : "GET",
                            loadFilter : function(data, parent) {
                                var arr = [];
                                var list = data.list;
                                for ( var i = 0; i < list.length; i++) {
                                    var doc = list[i];
                                    var item = {
                                        id : doc.id,
                                        text : doc.name,
                                        state : 'closed',
                                        employees : doc.employees
                                    };
                                    arr.push(item);
                                }
                                return arr;
                            },
                            onBeforeExpand : function(node) {
                                alert(node.id);
                                $('#department').tree('options').url = "/department?id="+ node.id;
                            },
                            onContextMenu : function() {
                                e.preventDefault();//阻止默认的事件,浏览器的右键菜单
                                $(this).tree('select', node.target);
                                $('#departmentMenu').menu('show', {
                                    left : e.pageX, //显示的位置
                                    top : e.pageY
                                });
                            }
                        });

    });

后台的代码:
点击树节点时,因为接收不到id,因此id值为0,于是又把所有的节点加载到了子节点下。

@RequestMapping(method = RequestMethod.GET)
    public Object queryListByParentId(@RequestParam(value = "id") String id,HttpServletRequest request) {

        // 返回的消息体
        Map<String, Object> map = new HashMap<String, Object>();
        //String id = request.getParameter("id"); // 部门ID

        List<Department> list = departmentService.findByPId(id);
    if (null == list || list.isEmpty()) {
            return toResponseEntity(404, map);
        }
        
        map.put("list", list);
        return toResponseEntity(200, map);
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文