JqueryUI Dialog 加载动态页 部分页

问题:使用JqueryUIDialog 加载部分页,可以弹出对话框,但是在操作页面上的按钮是提示"dialog"找不到,思路是,先取到部分页加载到要dialog的Div上,在dialog出来,代码如下,

问题代码:

  $("#PushAisburse").click(function () {

        $.get("PushAisburse").success(function (data) {

            $("#dialog-form").append(data).dialog({

                modal: true,
                buttons: {
                    "增加": function () {
                        //初始化提交
                        var fromdata = $("#addfrom").serialize();
                        $.post("PushAisburse", fromdata);
                    },
                    "取消": function () {
                        $(this).dialog("close");
                    }
                },
                close: function () {
                    $("#addfrom").remove();
                }
            });

        }).error(function () {
            $("<div></div>").attr("id", "msg").append("<p class ='.text-error'>打开添加收入记录失败!</p>").appendTo("body").dialog();
        });



    });

解决:

测试后分析生成的HTML 发现是加载部分页的问题, 如果用以上代码加载页面上的HTML代码可以正常操作,但是加载部分页就会有Bug,改成dialog弹出时加载部分页Bug消失

正常代码如下:

 $("#PushAisburse").click(function () {
        
        $("#dialog-form").dialog({
            modal: true,
            buttons: {
                "增加": function () {
                    //初始化提交
                    var fromdata = $("#dialog-form").serialize();
                    $.post("PushAisburse", fromdata);
                },
                "取消": function () {
                    $(this).dialog("close");
                }
            },
            open: function () {
                $.get("PushAisburse").success(function (data) {
                    $("#dialog-form").append(data);
                }).error(function () {
                    $("#dialog-form").append("<p class ='.text-error'>打开添加收入记录失败!</p>");
                });
            }
        }); 
    });

还有一个经常性的错误: 被加载的部分页中不能有和加载到body页面中有同样的引用文件,会导致引用文件冲突,导致,dialog只显示一次,关闭dialog后就打不开了,dialog 方法找不到,

修改冲突文件就可以正常操作

原文地址:https://www.cnblogs.com/Fyhong/p/3370847.html