Возможно, кто-то может помочь мне понять, что происходит. Я использую диалоговое окно jQuery UI () для отображения html-частичек в моем проекте. Когда пользователь нажимает кнопку Добавить новый, он отображает форму добавления клиента. Однако, когда пользователь нажимает на кнопки «Добавить» или «Отмена» в диалоговом окне, я получаю сообщение об ошибке «$ (this) .dialog - это не функция». Если я удаляю событие открытия и отображаю статическую форму в диалоговом окне, кнопки работают нормально.
ClientsController
public ActionResult ajaxCreateClient()
{
Client c = new Client();
AddToViewData(c); // adds some additional info about client
return PartialView("__ClientForm", c);
}
Просмотр: Контакты / Создать
....
<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");
}
}
});
});
Спасибо!