質問

削除を確認した後に非表示にするモーダルを取得できない(閉じても正常に動作します)ので、現在モーダルIDで参照しようとしています。

私が読んでいる限り、モーダルを非表示にする典型的な方法は次のとおりです。 $('#myModal').modal('hide'); ただし、これは私にとってはうまくいかないようです、私は使用しました $('.modal').modal('hide'); IDを指定する必要があるからなのか気になります # モーダルのですが、私のIDが @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 現在のアイテムのオブジェクト ID (item.ID)、しかし、それが私のモーダルIDにも設定されているので、機能するはずではありませんか?

item.ID は私のモデルの主キーなので一意です.

役に立ちましたか?

解決

修理済み!犯人はモーダルだった fade.

これを機能させるには、「確認」ボタンによって呼び出される関数内で次のコードを使用する必要がありました。これは、他の作業、特に AJAX の前に行う必要があります。どうやら AJAX はモーダルのスクリプトの一部を台無しにする可能性があるため、他のことを行う前にモーダルの作業をすべて完了する必要があります。

関数スニペット

$('#myModal').removeClass('fade');
$('#myModal').modal('hide');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top