show div on closing the pop up using location.reload() is used or any alternative
show div on closing the pop up using location.reload() is used or any alternative
我正在使用 jquery ui 对话框来显示详细信息,并且有一个锚标记删除,用于从弹出窗口中删除记录,并在成功删除后显示消息或删除不成功,但我面临的问题是当我像往常一样尝试使用 location.reload 关闭弹出窗口时,它正在刷新页面,并且我显示的消息也随着页面刷新而消失。我已经尝试过关闭 jquery ui 对话框但仍然是同样的问题。请帮助摆脱那个或任何替代方案。这是我的代码。
弹出详细信息代码
$(".details").click(function () {
event.preventDefault();
var $buttonClicked = $(this);
var name = $buttonClicked.attr('name');
var id = $buttonClicked.attr('data-id');
var divDetail = $("#detailsRolePlace");// div to open in dialog
$.ajax({
type: "GET",
url: RoleDetailPostBackURL,
contentType: "application/json; charset=utf-8",
data: { "id": id },
datatype: "json",
success: function (data) {
divDetail.html(data);
}
});
var winW = $(window).width() -620;
divDetail.dialog(
{
autoOpen: true,
position: {
position: [0, 28]
},
height: "auto",
width: winW,
resizable: false,
resizable: false,
title: name,
modal: true,
open: function () {
divDetail.load();
divDetail.css('overflow', 'hidden');
},
buttons:
[
{
text: "Close",
"class": 'btn-success',
click: function () {
$(this).dialog("close");
}
}
]
});
});
这是我用于从对话框中删除记录的脚本
$('a.removeThisRole').click(function () {
if (confirm("This role will be deleted! Are you sure to delete this role?")) {
var ids = new Array();
ids.push(Number($(this).closest('ul').attr('id')));
var myData = JSON.stringify({ RoleId: ids, action: "Delete" });
changeAccountStatus(myData);
}
return false;
});
function changeAccountStatus(myData) {
$.ajax(
{
type: "POST",
url: DeletePostBackURL,
contentType: "application/json; charset=utf-8",
data: myData,
datatype: "json",
success: function (data) {
$(".dummyMessageHead").fadeIn("fast");
$(".dummyMessageHead").html(data.message);
$('.dummyHiddenDeletedRoleIds').each(function () {
$("Input:checkbox[value=" + this.value + "]").closest('tr').remove();
})
}
complete: function () {
//$(".ui-front").hide();
//$(".ui-dialog ").hide();
location.reload(false);
}
});
查看邮件在 div
中的显示位置
<script src="~/Scripts/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
var DeletePostBackURL = '@Url.Action("RoleLists", "Role")'
</script>
@using (Html.BeginForm("RoleLists", "Role", FormMethod.Post))
{
<div class="row" style="margin:0px 0px 0px 0px;">
<div class="dummyMessageHead col-md-12 col-sm-12">
@Html.parseHtml(ViewData["MessageText"] != null ? ViewData["MessageText"].ToString() : "")
</div>
</div>
}
<div id="detailsRolePlace">
</div>
<script src="~/Scripts/Role.js"></script>
而不是使用 location.reload(false);
在你的情况下尝试关闭你的对话框它应该是这样的。
$("#detailsRolePlace").dialog("close");
希望这会有所帮助。
我正在使用 jquery ui 对话框来显示详细信息,并且有一个锚标记删除,用于从弹出窗口中删除记录,并在成功删除后显示消息或删除不成功,但我面临的问题是当我像往常一样尝试使用 location.reload 关闭弹出窗口时,它正在刷新页面,并且我显示的消息也随着页面刷新而消失。我已经尝试过关闭 jquery ui 对话框但仍然是同样的问题。请帮助摆脱那个或任何替代方案。这是我的代码。
弹出详细信息代码
$(".details").click(function () {
event.preventDefault();
var $buttonClicked = $(this);
var name = $buttonClicked.attr('name');
var id = $buttonClicked.attr('data-id');
var divDetail = $("#detailsRolePlace");// div to open in dialog
$.ajax({
type: "GET",
url: RoleDetailPostBackURL,
contentType: "application/json; charset=utf-8",
data: { "id": id },
datatype: "json",
success: function (data) {
divDetail.html(data);
}
});
var winW = $(window).width() -620;
divDetail.dialog(
{
autoOpen: true,
position: {
position: [0, 28]
},
height: "auto",
width: winW,
resizable: false,
resizable: false,
title: name,
modal: true,
open: function () {
divDetail.load();
divDetail.css('overflow', 'hidden');
},
buttons:
[
{
text: "Close",
"class": 'btn-success',
click: function () {
$(this).dialog("close");
}
}
]
});
});
这是我用于从对话框中删除记录的脚本
$('a.removeThisRole').click(function () {
if (confirm("This role will be deleted! Are you sure to delete this role?")) {
var ids = new Array();
ids.push(Number($(this).closest('ul').attr('id')));
var myData = JSON.stringify({ RoleId: ids, action: "Delete" });
changeAccountStatus(myData);
}
return false;
});
function changeAccountStatus(myData) {
$.ajax(
{
type: "POST",
url: DeletePostBackURL,
contentType: "application/json; charset=utf-8",
data: myData,
datatype: "json",
success: function (data) {
$(".dummyMessageHead").fadeIn("fast");
$(".dummyMessageHead").html(data.message);
$('.dummyHiddenDeletedRoleIds').each(function () {
$("Input:checkbox[value=" + this.value + "]").closest('tr').remove();
})
}
complete: function () {
//$(".ui-front").hide();
//$(".ui-dialog ").hide();
location.reload(false);
}
});
查看邮件在 div
中的显示位置<script src="~/Scripts/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
var DeletePostBackURL = '@Url.Action("RoleLists", "Role")'
</script>
@using (Html.BeginForm("RoleLists", "Role", FormMethod.Post))
{
<div class="row" style="margin:0px 0px 0px 0px;">
<div class="dummyMessageHead col-md-12 col-sm-12">
@Html.parseHtml(ViewData["MessageText"] != null ? ViewData["MessageText"].ToString() : "")
</div>
</div>
}
<div id="detailsRolePlace">
</div>
<script src="~/Scripts/Role.js"></script>
而不是使用 location.reload(false);
在你的情况下尝试关闭你的对话框它应该是这样的。
$("#detailsRolePlace").dialog("close");
希望这会有所帮助。