Jquery对话框打开,所有的工作,但不是第二次

本文关键字:工作 第二次 对话框 Jquery | 更新日期: 2023-09-27 18:16:07

我的网站是在mvc-4,我在对话框中打开部分视图。部分视图第一次工作得很好,但当我第二次打开它时,它打开了对话框,但部分视图不起作用。我认为一些jquery问题我做错了。在局部视图中,div悬停事件不起作用。

这是我打开对话框的代码:

<div onclick="ShowHistory();">Actions History</div>
function ShowHistory()
{
    myDialog = $("<div> </div>");
    myDialog.dialog({
        autoOpen: false,
        width: 1050,
        title: "Title",
        resizable: false,
        modal: true,
        draggable: false,
    });
    myDialog.load("@Url.Action("Method_return_partial_view", new {id = 1 })",
function () {
        myDialog.dialog('open');
    });
}
控制器方法:

[Authorize]
    public PartialViewResult Method_return_partial_view(int id)
    {
        var list = GetHistory(id);
        return PartialView("_partialViewName", list);
    }
编辑:

我也排序网格,网格排序是使用jquery ajax完成的,它的工作很好,当打开第一次和控制器方法排序调用一次,但当我打开对话框第二次,我点击排序头然后控制器方法调用的2倍,意味着如果点击一次调用一次,如果点击第二次控制器方法调用2次,如果第三次调用4次

Jquery对话框打开,所有的工作,但不是第二次

您应该尝试指定当对话框关闭时会发生什么,以便可以再次重用它。试试这个:

function ShowHistory()
{
    myDialog = $("<div> </div>");
    myDialog.dialog({
        close: function (event, ui) {
            // remove div with all data and events            
            myDialog.remove();
                },
        autoOpen: false,
        width: 1050,
        title: "Title",
        resizable: false,
        modal: true,
        draggable: false,
    });
    myDialog.load("@Url.Action("Method_return_partial_view", new {id = 1 })",
function () {
        myDialog.dialog('open');
    });    
}