我的视图上有一个链接,打开一个JQuery对话框,要求用户确认操作,单击确定按钮,对话框将变为成功或失败的消息。
这可以按预期工作,并且执行的操作也有效。但是,一旦单击确定按钮,该按钮应该从视图中隐藏,并且由于将标准mvc列表视图转换为Telerik网格控件,隐藏按钮不再起作用,但其他一切仍然按照描述工作。
我不知道如何在谷歌提出问题以提出所需的答案,因为所有答案都指向完全不同的问题,我也问过我团队中的一些高级开发人员并且没有人遇到过这之前。
有人可以告诉我JQuery发生了什么以及如何抵消它吗?非常感谢帮助。
Razor观点:
@model IEnumerable<BUUK.BSS.Models.ADTeamMemberEntry>
@{
ViewBag.Title = "MyTeam";
}
<h2>@ViewBag.Title</h2>
<h3>@ViewBag.Message</h3>
@(Html.Kendo().Grid(Model).Name("TeamMember").Columns(c =>
{
c.Bound(tm => tm.FullName);
c.Bound(tm => tm.JobTitle);
c.Bound(tm => tm.Department);
c.Bound(tm => tm.Email);
c.Template(
@<text>
@Html.ActionLink("User Details", "UserDetails", "User", new { userName = item.UserName }, null)
</text>
);
})
)
<p>@Html.ActionLink("Create Review", "CreateReview", "Home", new { @class = "createReview" })</p>
<div style="display:none">
@Html.Partial("CreateReview")
</div>
@section Scripts {
<script src="~/Scripts/confirmDialog.js"></script>
<script src="~/Scripts/createReview.js"></script>
<link href="~/Content/jquery-ui-1.11.1.css" rel="stylesheet" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css" />
}
JQuery对话:
$(function () {
$(".createReview").click(function (e) {
e.preventDefault();
var url = $(this).attr('href');
$("#create-review .CreateReviewSuccessMessage").hide();
$("#create-review .CreateReviewFailureMessage").hide();
$("#create-review").dialog({
resizable: false,
width: 425,
modal: true,
buttons: {
"OK": function () {
/*GET*/
$.ajax({
url: url,
type: "GET",
async: true,
processData: false,
cache: false,
success: function (data) {
$("#create-review .CreateReviewConfirmDialog").hide();
$("#create-review .CreateReviewSuccessMessage").show();
$('.ui-button:contains("OK")').hide();
$('.ui-button:contains("Cancel")').find('span').text("Close");
},
error: function (xhr) {
$("#create-review .CreateReviewConfirmDialog").hide();
$("#add-user-role .CreateReviewFailureMessage").show();
$('.ui-button:contains("OK")').hide();
$('.ui-button:contains("Cancel")').find('span').text("Close");
}
});
},
"Cancel": function () {
$(this).dialog("close");
$("#create-review .CreateReviewConfirmDialog").show();
$("#create-review .CreateReviewSuccessMessage").hide();
$("#create-review .CreateReviewFailureMessage").hide();
}
}
});
$("#create-review").dialog("open"); // <------- open dialog this way.
});
});
答案 0 :(得分:1)
您缺少一些代码。您应该检查源代码以查看按钮名称是什么以及保持在哪里。
尝试:$('.ui-dialog-buttonset button:contains("OK")').hide();