Problema com a ocultação de um Modal - Bootstrap 3
-
21-12-2019 - |
Pergunta
Eu não posso começar um modal para ocultar após a confirmação de um delete (fechamento funciona bem, assim, eu estou tentando fazer referência a ele por um modal de IDENTIFICAÇÃO de agora.
Pelo que eu estou lendo, de maneira típica para ocultar um modal é $('#myModal').modal('hide');
No entanto, isso não parece estar trabalhando para mim, eu usei $('.modal').modal('hide');
e eu estou querendo saber se é porque eu preciso especificar o ID #
modal, mas não tenho a certeza que o "correto" maneira de fazer isso é se o meu ID é um @model
o atributo`
Aqui é o meu botão
<button class="btn btn-danger col-lg-3 col-lg-offset-3" data-toggle="modal" data-target="#@item.ID" onclick="deleteStart(this)">
Aqui está a minha primeira div class para o meu modal
<div class="modal fade" id="@item.ID" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
Aqui está o meu deus que é o onClick
para o meu Confirmar a opção Excluir(eu tenho algumas tentativas dentro do código)
function deleteFunction(element) {
var newID = $(element).closest("td").find("span.ID").text();
$.post(
'@Url.Action("customDelete", "Show")',
{
'id': newID
},
function (data) { },
"json"
);
$(element).closest("tr").next("tr").remove();
$(element).closest("tr").remove();
//$(element).attr("data-target", "#" + newID).modal('hide');
//$('#newID').modal('hide');
//$('.modal').modal('hide');
$(element).closest("table").toggleClass("table-hover");
$(element).closest("tr").css('background-color', 'initial');
}
NOTA:o var newID
aplica-se o item atual IDENTIFICAÇÃO do objeto (item.ID
), mas já que é esse o meu modal ID é definido como o bem, não deveria estar trabalhando?
item.ID
é o meu modelo de chave primária, então ela é única demais.
Solução
Fixo!O culpado foi modal da fade
.
Para chegar a este trabalho, eu tive que usar o seguinte dentro de uma função que foi chamado pelo botão "Confirmar".Isso tem que ser feito ANTES de qualquer outra coisa, especialmente AJAX.Aparentemente, o AJAX pode atrapalhar alguns dos scripts para Modal, então você tem que terminar todos os seus modal coisas antes de você fazer outras coisas.
Função Trecho
$('#myModal').removeClass('fade');
$('#myModal').modal('hide');