Javascript 如何隐藏模态?
我已经被困了将近一天,但仍然无法解决这个问题。我已经在web上搜索过了,使用此代码的常见建议是Javascript 如何隐藏模态?,javascript,jquery,asp.net-mvc,bootstrap-modal,Javascript,Jquery,Asp.net Mvc,Bootstrap Modal,我已经被困了将近一天,但仍然无法解决这个问题。我已经在web上搜索过了,使用此代码的常见建议是$('#Modal').Modal('hide')。这是在我的另一个功能,正在使用模态,但有一个特定的功能,无法关闭。这是我可以关闭模式的示例 $(document).on('click', '#btnProcedureAccessSave', function (event) { HideAllInModal(); $('#divLoadingInModal').show();
$('#Modal').Modal('hide')
。这是在我的另一个功能,正在使用模态,但有一个特定的功能,无法关闭。这是我可以关闭模式的示例
$(document).on('click', '#btnProcedureAccessSave', function (event) {
HideAllInModal();
$('#divLoadingInModal').show();
$.ajax({
async: false,
type: 'POST',
url: '/admin/AddProcedureAccess',
data: {
UserID: $('#txtNewUserID').val(),
ProcedureID: $('#txtSelectedProcedureID').val(),
__RequestVerificationToken: gettoken(),
},
success: function (response) {
if (response['success'] == true) {
$('#Modal').modal('hide');
ProcedureAccessMarkUpUpdate(response['data']);
}
else {
$('#divLoadingInModal').hide();
$('#divProcedureAccessInModal').show();
ValidationError(response['error']);
}
},
error: function (jqXHR, exception) {
$('#divLoadingInModal').hide();
$('#divProcedureAccessInModal').show();
JavaScriptError(jqXHR, exception);
}
});
});
这里的代码说明我无法关闭模式
function DeleteUserProcedureAccess(ID) {
HideAllInModal();
$('#divLoadingInModal').show();
$.ajax({
async: false,
type: 'POST',
url: '/admin/DeleteUserProcedureAccess',
data: {
UserProcedureID: ID,
__RequestVerificationToken: gettoken()
},
success: function () {
$('#' + ID).remove();
$('#Modal').modal('hide');
},
error: function (jqXHR, exception) {
$('#Modal').modal('hide');
JavaScriptError(jqXHR, exception);
}
});
}
我的HTML代码
<div class="modal fade show" tabindex="-1" role="dialog" id="Modal" style="padding-right: 17px;" aria-modal="true">
@*Loading Modal*@
<div id="divLoadingInModal" class="modal-dialog modal-md modal-dialog-centered" role="document" style="display:none; width:110px;">
<div class="modal-content" style="text-align:center">
<img src="~/Content/Assets/img/5.gif" style="width:100px; height:100px; margin:5px;"/>
<h5>Loading...</h5>
</div>
</div>
@*Procedure Access Modal*@
<div id="divProcedureAccessInModal" class="modal-dialog modal-md modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><label id="lblProcedureAccessModalHeader"></label></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body needs-validation">
<input id="txtProcedureAccessID" type="hidden" />
<div class="form-Group">
<label>Name</label>
<input id="txtNewUserID" type="hidden" />
<div class="input-group">
<input id="txtProcedureAccessname" type="text" class="form-control form-control-sm" />
</div>
<label id="err_ProcedureAccessUserID"></label>
</div>
<div class="modal-footer bg-whitesmoke">
<button class="btn btn-primary btn-shadow" id="btnProcedureAccessSave">Save</button>
</div>
</div>
</div>
</div>
</div>
@*加载模式*@
加载。。。
@*程序访问模式*@
×
名称
拯救
您需要找到正确的modal div id
例如,如果您使用此$('#Modal').Modal('hide');这意味着您的模态id是“模态”。您正在使用正确的方式隐藏模型,但jquery选择器的id错误。例如,如果显示模式时正在调用-$(“#divLoadingInModal”).show(),请使用正确的jquery选择器id;同样的隐藏你需要打电话
$('#divloadingmodel').hide();或$('divloadingmodel').model('hide');
****确保您在$function中使用了正确的jquery选择器。我的模态ID是模态的。DivLoadingModal和divProcedureAccessInModal位于模式内。基本上,我只在调用服务器函数并在请求后关闭它时显示divLoadingModal。我附上我的HTML代码,以进一步澄清为什么在模式代码中添加模式是错误的。即使你需要在模态中调用模态,你也只需要用正确的方式调用它。提供JS fiddle或代码片段。您已经添加了display none和class=“modal fade show”我能知道原因吗?只需运行这个$('#modal')。modal('hide');在控制台中,检查模态是否隐藏。