• javaScript(拼写树形)+ajax请求,去后台查找数据


    第一步:页面加载完成时,利用jquery中的一函数,调用js方法,js方法,发送ajax请求,去后台查找父类权限集合,响应回来json格式的数据,对数据进行操作,往页面上添加内容

     1 //页面初始化加载菜单内容
     2     $(document).ready(function(){
     3         loadPower(0);        
     4     });
     5 
     6 //加载一级权限菜单    
     7     function loadPower(pId){
     8         $.ax({
     9             type: "get",
    10             url: "<%=request.getContextPath()%>/master/sysPower_loadParentPower.action?sysPower.sysParentId="+pId,
    11             async: false,
    12             dateType: "json",
    13             success: function(resp){
    14                 var powers = resp["rows"];
    15                 if(powers.length>0){
    16                     var showPowers = $("#showPowers").html();
    17                     for(var i=0;i<powers.length;i++){
    18                         showPowers += "<li id='"+powers[i].sysPowerId+"'><a href='javascript:void(0)' onclick="loadChildPower('"+powers[i].sysPowerId+"');">"+powers[i].sysPowerName+"</a><div  class='opt'><a href='javascript:void(0)' onclick="updatePower('"+powers[i].sysPowerId+"');">编辑</a> | <a href='javascript:void(0)' onclick="deletePower('"+powers[i].sysPowerId+"');">删除</a> </div></li>";
    19                     }
    20                     $("#showPowers").html(showPowers);                    
    21                 }
    22             }
    23         });
    24     }

    第二步:在拼写的页面中,添加操作的请求地址。例如(加载父权限下的子权限,修改,删除操作的url请求后台的地址)

    //加载二级权限菜单
        function loadChildPower(pId){
            if($("#"+pId).find("ul").length==0){
                $("#"+pId).append("<ul></ul>");
                $.ax({
                    type: "get",
                    url: "<%=request.getContextPath()%>/master/sysPower_loadParentPower.action?sysPower.sysParentId="+pId,
                    async: false,
                    dateType: "json",
                    success: function(resp){
                        var powers = resp["rows"];
                        if(powers.length>0){
                            for(var i=0;i<powers.length;i++){
                                $("#"+pId).find("ul").append("<li id='"+powers[i].sysPowerId+"'>"+powers[i].sysPowerName+"<div  class='opt'><a href='javascript:void(0)' onclick="updatePower('"+powers[i].sysPowerId+"');">编辑</a> | <a href='javascript:void(0)' onclick="deletePower('"+powers[i].sysPowerId+"');">删除</a> </div> </li>");
                            }
                        } else {
                            $("#"+pId).find("ul").append("<li>暂无下级权限 <div  class='opt'>无操作</div></li>");
                        }
                    }
                });
            } else {
                //显示隐藏菜单
                if($("#"+pId).find("ul").css("display")=="block"){
                    $("#"+pId).find("ul").css("display","none");
                } else {
                    $("#"+pId).find("ul").css("display","block");
                }
            }
        }
    View Code

    第三步:修改和删除权限的js操作

    //编辑
        function updatePower(powerId){
            window.open("<%=request.getContextPath()%>/master/sysPower_findPowerById.action?sysPower.sysPowerId="+powerId,"","height=400,width=600,top=200,left=450,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
        }
        //删除
        function deletePower(powerId){
            if(window.confirm("确认删除?"))
            $.ax({
                type:"get",
                url:"<%=request.getContextPath()%>/master/sysPower_deletePower.action?sysPower.sysPowerId="+powerId,
                async: false,
                //dataType:"json",
                success:function(resp){
                    if(resp==true){
                        $("#"+powerId).remove();
                    }
                }
            });
        }
    View Code

     第四步:当是修改权限的时候,向后台发送ajax请求((会打开一个新的窗口,子页面)),查处该权限的信息,然后回显到新窗口。提交新窗口的form表单修改,响应回一个页面,页面上一个按钮,用来刷新父页面,是修改权限的窗口。

    //子窗口回显信息的form表单
    <form action="<%=request.getContextPath() %>/master/sysPower_updatePower.action" method="post">
        <div class="formbody">
        
        <div class="formtitle"><span>权限详情</span></div>
        
        <ul class="forminfo">
        <input name="sysPower.sysPowerId" type="hidden" class="dfinput" value="${sysPower.sysPowerId }" />
        <input name="sysPower.sysParentId" type="hidden" class="dfinput" value="${sysPower.sysParentId }" />
        <li><label>权限名称</label><input name="sysPower.sysPowerName" type="text" class="dfinput" value="${sysPower.sysPowerName }" /></li>
        <li><label>权限URL</label><input name="sysPower.sysPowerUrl" type="text" class="dfinput" value="${sysPower.sysPowerUrl }" /></li>
        <li><label>权限排序</label><input name="sysPower.sysSort" type="text" class="dfinput" value="${sysPower.sysSort }" /></li>
        <li>
            <label>&nbsp;</label><input name="" type="submit" class="btn" value="提交修改" />
        </li>
        </ul>
        
        
        </div>
        </form>
    
    
    //提交form表单后,响应回来的页面,有一个按钮,出动js方法,刷新父窗口内容,让父窗口是修改后的显示
    
    <script type="text/javascript">
            function freshAndClose(){
                window.opener.location.reload(true);
                setTimeout("window.close()",500);
            }    
        </script>
        
    </head>
    
    <body>
    
        更新成功<br/>
        <input type="button" class="btn" value="关闭" onclick="freshAndClose();"/>
    
    </body>
    View Code
  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/3821076.html
Copyright © 2020-2023  润新知