モーダルの非表示に関する問題 - Bootstrap 3
-
21-12-2019 - |
質問
削除を確認した後に非表示にするモーダルを取得できない(閉じても正常に動作します)ので、現在モーダル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');
所属していません StackOverflow