开发者

ASP.Net MVC jQuery Dialog Partial

开发者 https://www.devze.com 2023-02-06 17:39 出处:网络
Perhaps someone out there can help me understand what\'s going on. I\'m using jQuery UI dialog() to display html partials in my project. When a user clicks Add New it displays the add client form. How

Perhaps someone out there can help me understand what's going on. I'm using jQuery UI dialog() to display html partials in my project. When a user clicks Add New it displays the add client form. However, when the user clicks on the Add or Cancel buttons in the dialog I get an error, "$(this).dialog is not a f开发者_StackOverflow社区unction". If I remove the open event and display a static form in the dialog the buttons the work fine.

ClientsController

public ActionResult ajaxCreateClient()
{
    Client c = new Client();
    AddToViewData(c); // adds some additional info about client
    return PartialView("__ClientForm", c);
}

View: Contacts/Create

....
<p>
@Html.LabelForField(model => model.Client.Name)  <!-- custom extension that I wrote -->
@Html.TextboxFor(model => model.Client.Name)
<a id="btnAddNew" href="javascript:void()">Add New</a>
</p>
....
<div id="addNew"></div>

jQuery

$(document).ready(function () {
    $("#btnAddNew").click(function () {
        $("#addNew").dialog("open");
    });

    $("#addNew").dialog({
        autoOpen: false,
        title: "Add Client",
        width: 410,
        modal: true,
        resizable: false,
        open: function(event, ui) {
            $(this).load("@Url.Action("ajaxCreateClient", "Clients")");
        },
        buttons:
        {
            "Add": function () {
                // validate() and do something
                $(this).dialog("close");
            },
            "Cancel": function () {
                // do something else
                $(this).dialog("close");
            }
        }
    });
});

Thanks!


Try like this:

$('#addNew').dialog('close');
0

精彩评论

暂无评论...
验证码 换一张
取 消