colorbox:发送带有 post 数据的数据属性

colorbox: send data-attr with post data

我正在为我的选择器中具有 data-myid 属性的每个 link 打开一个颜色框(AJAX 页面),我想发送 data-myid 属性post 请求返回正确页面的值。

$(".gallery-media-cover a[data-myid]").colorbox({
    href: 'ajax/view//image',
    data: {
        myid: $(this).attr("data-myid"),
    },
});

它在我写的时候有效:myid: 123 但它们是动态的,所以我需要从 link 中获取它们。每当我尝试时,当我使用 $(this).attr("data-myid")

时,myid 会被 post 编辑为未定义

我真的尝试了任何可能的方法来获取 url 的数据属性以随我的请求一起发送,但 none 似乎有效。我 100% 确定 data-myid 在 link.

还有

myid: function() {
    return $(this).attr("data-myid");
}

$(this).data("id")

保持未定义,我真的没有选择。任何人都可以分享一下吗?

在您提供给 colourbox() 方法的对象的上下文中,this 不引用被单击的 link。要实现您的要求,您可以遍历每个 link 并单独实例化颜色框:

$(".gallery-media-cover a[data-myid]").each(function() {
    var $el = $(this);
    $el.colorbox({
        href: 'ajax/view//image',
        data: {
            myid: $el.data('myid'),
        },
    });
});