javascript - 使用ajax数据更改fancybox iframe的内容

标签 javascript jquery ajax iframe fancybox-3

我有一个模板网站,我想用 ajax 调用的数据更改其内容。

我有一个按钮可以打开 fancybox 3 iframe。此页面的内容就是我要更改的内容。

打开 fancybox 的按钮:

'<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>'

点击事件触发ajax调用:

$('#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 选择器是正确的,因为我可以通过 chrome 控制台编辑页面。所以我认为问题在于它试图在加载之前更改页面?有什么解决办法吗?

我读过的所有答案都假设您有一个空的 fancybox iframe 页面,并且只需向其附加数据即可。但就我而言,我已经有一个模板网站,我想更改其内容。我读过的链接:

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

最佳答案

从您的描述中不清楚 - 您想要在 fancybox 内打开 iframed 页面,并且想要发出 ajax 请求来更改该页面的内容 - 同时?只加载最后一页不是更明智吗?

我认为您只需使用网址传递发票 ID,例如 /invoice_details/?invoiceId=YOUR_ID 并避免混淆两个请求。

关于javascript - 使用ajax数据更改fancybox iframe的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44494685/

相关文章:

javascript - Nodejs 不同的内容长度

javascript - 从 docx 模板 javascript 生成 docx 文档

c# - 为 Json 序列化一个二维数组

Jquery ajax 和 Rails 3 -> 加载内容

javascript - 如何创建一个简单的可重用网格,仅在商店和标题上有所不同?

javascript - 单击关闭图标后如何删除具有相同类名的当前列表项

javascript - jqGrid - 根据数据值过滤行

javascript - Math.random() 帮助获得 '+N' 和 '-N' 随机数(不包括特定范围)

c# - jquery .ajax 调用 Controller ,模型为空

php - 如何优化获取随机图片的场景?