У меня есть ссылка на моем представлении, которая открывает диалоговое окно JQuery с просьбой подтвердить действие, при нажатии кнопки ok диалог изменяется на сообщение либо с успехом, либо с ошибкой.
Это работает так, как ожидалось, и действие также работает. Однако, как только кнопка ok нажата, эта кнопка должна быть скрыта от просмотра, и после преобразования стандартного представления списка mvc в элемент управления сеткой Telerik скрытие кнопки больше не функционирует, но все остальное все еще работает, как описано.
Я не знаю, как задать вопрос в Google, чтобы выявить требуемый ответ, поскольку все ответы указывают на совершенно другую проблему, я также спросил некоторых из старших разработчиков в моей команде, и никто раньше не сталкивался с этим раньше.
Может кто-нибудь сказать мне, что случилось с JQuery и как противодействовать ему, пожалуйста? помощь будет очень высоко оценена.
Вид бритвы:
@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.
});
});
Вам не хватает кода. вы должны проверить исходный код, чтобы узнать, что такое имя кнопки и где она хранится.
Попробуйте: $('.ui-dialog-buttonset button:contains("OK")').hide();