Frage

Ich kann ein Modal nach Bestätigung eines Löschvorgangs nicht ausblenden (das Schließen funktioniert einwandfrei), daher versuche ich jetzt, es mit einer modalen ID zu referenzieren.

Nach dem, was ich lese, ist der typische Weg, ein Modal zu verstecken $('#myModal').modal('hide'); Dies scheint jedoch bei mir nicht zu funktionieren, ich habe es benutzt $('.modal').modal('hide'); und ich frage mich, ob es daran liegt, dass ich die ID angeben muss # vom Modal, aber ich bin mir nicht sicher, wie das "richtig" geht, wenn meine ID eine ist @model Attribut`

Hier ist mein Knopf

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

Hier ist meine erste Div-Klasse für mein Modal

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

Hier ist meine Abfrage, die die ist onClick für meine Option zum Bestätigen des Löschens (ich habe einige Versuche innerhalb des Codes)

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

BEACHTEN:der var newID gilt für die Objekt-ID des aktuellen Elements (item.ID), aber da das auch meine modale ID ist, sollte es nicht funktionieren?

item.ID ist der Primärschlüssel meines Modells, also ist er auch einzigartig.

War es hilfreich?

Lösung

Behoben!Der Schuldige war Modals fade.

Damit dies funktioniert, musste ich innerhalb einer Funktion, die über die Bestätigungstaste aufgerufen wurde, Folgendes verwenden.Dies muss VOR allem anderen getan werden, insbesondere vor AJAX.Anscheinend kann AJAX einige Skripte für Modale durcheinander bringen, also musst du all deine modalen Sachen beenden, bevor du andere Dinge tust.

Funktionsausschnitt

$('#myModal').removeClass('fade');
$('#myModal').modal('hide');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top