2017-06-12 4 views
0

私はajax呼び出しからのデータで変更したい内容のテンプレートサイトを持っています。ayaxデータでfancybox iframeの内容を変更します

ファンシーボックス3 iframeを開くボタンがあります。このページの内容は私が変更したいものです。 fancyboxを開くために

ボタン:

$('#my_in').on('click', 'i.inv_details', function() { 
    var inv_id = $(this).attr("invoiceId"); 
    $.ajax({ 
     url: '/wp-admin/admin-ajax.php', 
     type: 'post', 
     dataType: 'json', 
     data: { 
      action: 'invoice_details_ajax', 
      inv_id: inv_id 
     }, 
     done: function (data) { 

      //HERE I WANT TO FIND THE CONTENTS OF THE 
      //OPEN IFRAME AND CHANGE THEM, LIKE SUCH: 
      // $('.fancybox-iframe').contents().find("#test #bankgiro").text('test'); 
      // This above works in console, if I load jquery first, it does not work here. 


     } 
    }); 
}); 

私はクロームコンソール経由でページを編集することができますので、IFRAMEのためのjQueryのセレクタは、正しいです:AJAX呼び出しをトリガーする

'<i class="fa fa-info-circle fa-2x inv-details" invoiceId="' + data[index].invoiceid + '"' + 
'aria-hidden="true" data-fancybox data-type="iframe" data-type="iframe" href="javascript:;" data-src="/invoice_details/"</i>' 

クリックイベント。だから私は問題は、それがロードされる前にページを変更しようとしていると思いますか?これにはどんな解決策がありますか?

私が読んだすべての回答は、空のfancybox iframeページがあり、単にそれにデータを追加することを前提としています。しかし私の場合、私はすでにコンテンツを変更したいテンプレートサイトを持っています。リンクは私が読んでいる:

方法I:あなたはjQueryのを使用しているよう

How to show ajax response in fancybox iframe Loading dynamic AJAX content into Fancybox

答えて

1

あなたの説明からはっきりしない - あなたはfancybox内のiframeページを開き、同時にそのページの内容を変更する - ajaxリクエストを作成したいですか?最後のページを読み込む方が賢明ではないでしょうか?

私は、/invoice_details/?invoiceId=YOUR_IDのようなURLを使用して請求書IDを渡すだけで、2つのリクエストが混乱しないようにする必要があると思います。

0

あなたはすでに私はあなたが持っていると仮定思わdocument.readyとwindow.onloadなどをしようとした場合このようなものを回避する傾向がありますが、0.5秒ごとに発生するsetInterval()が必要な情報があるかどうかを確認し、必要な場合はそれを実行してから、それ自体をオフにします。あなたはページの読み込みを待つ必要があるためにあなたのために働くことができますか?

関連する問題