私のAJAX/jQuery実装についてのヘルプを探しています。2番目のAJAXコールの後にjQueryコードが実行されない
jQueryダイアログに動的にコードをロードしようとしています。
ボタンを初期化してタブを読み込むjQueryコードがいくつかあります。
問題は、ロードされたコンテンツ内のコードが2番目のAJAX呼び出しで実行されていないことです。だから、最初はすべてうまく動作しますが、ダイアログを閉じてもう一度やり直した後ではありません。
基本ページ:
$("#button").click(function() { someFunction(); });
function someFunction() {
var dialogVar = $('<div id="dialog"></div>').appendTo('body');
dialogVar.dialog({ autoOpen: true,
modal: true,
close : function(){
$(this).dialog("destroy");
},
open : function(){
dialog.load("dialogcontent.php",{} , function(data){
// Some logic
});
}
}
動的にロードされたコンテンツ(dialogcontent.php)
<script type="text/javascript">
$("#tabs").tabs();
</script>
<div id="tabs">
<ul>
<li><a href="#tabs-0">Tab1</a></li>
<li><a href="#tabs-1">Tab2</a></li>
</ul>
</div>
<div id="tabs-0">Tab1 Content</div>
<div id="tabs-1">Tab2 Content</div>
だからもう一度、タブが初めてではなく、二度目に作成されます。 POSTコールがサーバーに送信され、データが返されているのを確認できますが、JSは実行されません。
:だから要するに、あなたはだからあなたのダイアログ近いコードは次のようになりますtabs("destroy")
を呼び出す必要があります。 –