Popup第二次没有打开

时间:2014-05-11 15:00:14

标签: jquery asp.net-mvc-3 popup modal-dialog

我正在使用来自webgrid的popup来编辑候选人的详细信息。当我第一次点击时,弹出窗口正在打开。当我第二次点击时它没有出现。

//脚本

  function EditProduct(cid) {

        var ph = $("#DivToAppendPartialView");
        alert(cid);
        ph.load("/CandidateDetails/EditCandidateDetails?candidateid=" + cid, function () {
            alert('hi');
            ph.dialog({
                modal: true,
                width: 560,
                height: 560,
                title: "Edit Candidate",
                resizable: false
            });
        });
    }

第二次点击时,警报('hi')正在激活但不是弹出窗口。

//网格列

  grid.Column("", header: "Actions", canSort:false,
        format: @<text>
                  @Html.Raw("<img src='/Images/edit-icon.png' alt='Edit' title='Edit' onclick='EditProduct(" + item.CDId + ")'  />")
                  @Html.Raw("<img src='/Images/delete-icon.png' alt='Delete' title='Delete' onclick='DeleteProduct(" + item.CDId + ")'  />")
                 </text>

//使用的脚本

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>

1 个答案:

答案 0 :(得分:1)

此行创建一个对话框。默认情况下,autoOpen属性为true,这就是它第一次打开的原因。

ph.dialog({
    modal: true,
    width: 560,
    height: 560,
    title: "Edit Candidate",
    resizable: false
});

第二次调用时,对话框已经创建,因此不再运行。相反,创建一次对话框并使用open方法打开它......

var ph = $("#DivToAppendPartialView");
ph.dialog({
    modal: true,
    width: 560,
    height: 560,
    title: "Edit Candidate",
    resizable: false,
    autoOpen: false  // don't open on creation
});

function EditProduct(cid) {
    ph.load("/CandidateDetails/EditCandidateDetails?candidateid=" + cid, function () {
        ph.dialog('open');
    });
}