我在MVC项目中有一个 ASP.NET 视图,我正在尝试在其中创建一个弹出对话框来创建数据。 还有另一个视图被加载,该视图有一个 ID 为"btncancel_create"的按钮。 我无法让该按钮关闭对话框。 我正在使用jQuery 2.1.3和jQuery UI 1.11.4。
下面是按钮的代码:
<input type="button" value="Cancel" id="btncancel_create" />
这是视图:
$(document).ready(function () {
//alert("Document is ready");
var url = "";
$("#dialog-create").dialog({
title: 'Create User',
autoOpen: false,
resizable: false,
width: 400,
show: { effect: 'drop', direction: "up" },
modal: true,
draggable: true,
open: function (event, ui) {
$(".ui-dialog-titlebar-close").hide();
$(this).load(url);
}
});
$("#lnkCreate").on("click", function (e) {
url = $(this).attr('href');
$("#dialog-create").dialog('open');
return false;
});
//$("#btncancel_create").on("click", function (e) {
// $("#dialog-create").dialog("close");
// return false;
//});
$("#dialog-create").button("#btncancel_create").click(function (e) {
alert("btncancel_create was clicked");
$("#dialog-create").dialog('close');
return false;
});
});
<div id="dialog-create" style="display: none"></div>
<p>@Html.ActionLink("Create New", "Create", null, new { id = "lnkCreate" })</p>
如您所见,我尝试了其他不起作用的东西,该方法已被注释掉。 未注释的按钮单击功能会返回警报,但不会关闭对话框。 提前感谢您的帮助,如果您需要更多信息,请告诉我。
而不是$("#btncancel_create").on("click", function (e) {...
(在我上面注释掉的代码中)
它应该是
$(document).on("click", "#btncancel_create", function (e) {...
.
我在这里找到了答案:在jQuery中将live()转换为on()。