/ / Ajax変更ボタンからブートストラップモーダルをロードしています-javascript、jquery、ajax、twitter-bootstrap

Ajax変更ボタンからブートストラップモーダルを読み込む - javascript、jquery、ajax、twitter-bootstrap

ボタンを使用してブートストラップモーダルを起動し、jQueryを介してボタンクラスとテキストを変更しています。ボタンクラスが変更されたら、別のブートストラップモーダルを起動したいと思います。

ここに私のコードです

$(".btn myBtn1").click(function () {
var id = $(this).closest("tr").data("id");
$("#myModal1").data("id", id).modal("show");
$(". btn").addClass(" myBtn2");
$(". btn").removeClass(" myBtn1");

});
//second modal code
$(".btn myBtn2").click(function () {
var id = $(this).closest("tr").data("id");
$("#myModal2").data("id", id).modal("show");
$(". btn").addClass(" myBtn1");
$(". btn"). removeClass(" myBtn2");

});

私の問題は、同じモーダルを起動することです。モーダル1であり、モーダル2をロードすることはありません。これを修正するにはどうすればよいですか?あなたの時間を感謝します。

回答:

回答№1は1

次のコード行を変更します。

//second modal code
$(".btn myBtn2").click(function () {

//second modal code
$(document).on("click", ".btn myBtn2", function(){

理由: セレクターを動的に変更する場合は、イベントリスナーもそれを処理できるようにする必要があります。 $("selector").click(); 静的セレクターでのみ機能します。


回答№2の場合は1

ボタンクラスを動的に変更したため、クライアントイベントはアタッチされません。この場合、子ではなく親に添付されたクリックイベントがあります。より詳しい情報 jQueryでは、どのように動的なHTML要素にイベントを添付するのですか?

これを使って:

$("body").on("click", ".btn myBtn2", function () {