Вопрос

Я не могу скрыть модальное окно после подтверждения удаления (закрытие работает нормально), поэтому сейчас я пытаюсь ссылаться на него по модальному идентификатору.

Из того, что я читаю, типичный способ скрыть модальное окно: $('#myModal').modal('hide'); Однако, похоже, это не работает для меня, я использовал $('.modal').modal('hide'); и мне интересно, потому ли это, что мне нужно указать идентификатор # модального окна, но я не уверен, какой «правильный» способ сделать это, если мой идентификатор является @model атрибут`

Вот моя кнопка

<button class="btn btn-danger col-lg-3 col-lg-offset-3" data-toggle="modal" data-target="#@item.ID" onclick="deleteStart(this)">

Вот мой начальный класс div для моего модального окна

<div class="modal fade" id="@item.ID" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

Вот мой JQuery, который onClick для моей опции «Подтвердить удаление» (у меня есть несколько попыток в коде)

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');
    }

ПРИМЕЧАНИЕ:тот var newID применяется к идентификатору объекта текущего элемента (item.ID), но поскольку именно такой же установлен и мой модальный идентификатор, разве он не должен работать?

item.ID это первичный ключ моей модели, поэтому он тоже уникален.

Это было полезно?

Решение

Зафиксированный!Виновником был модал fade.

Чтобы заставить это работать, мне пришлось использовать следующее в функции, вызываемой кнопкой «Подтвердить».Это нужно сделать ПЕРЕД чем-либо еще, особенно AJAX.Очевидно, AJAX может испортить некоторые сценарии для модалов, поэтому вам нужно закончить все свои модальные вещи, прежде чем делать другие вещи.

Фрагмент функции

$('#myModal').removeClass('fade');
$('#myModal').modal('hide');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top