colorbox:使用发布数据发送data-attr

时间:2015-12-16 10:27:39

标签: javascript jquery ajax colorbox custom-data-attribute

我正在为我的选择器中具有data-myid属性的每个链接打开一个colorbox(AJAX页面),我想发送带有post请求的data-myid属性值以获取正确的页面回来。

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

当我写的时候它起作用:myid: 123但它们是动态的,所以我需要从链接中获取它们。每当我尝试使用myid

时,$(this).attr("data-myid")都会被定义为未定义

我真的尝试过任何可能的方法来获取url的data属性来发送它我的请求,但似乎没有工作。我100%肯定data-myid在链接中。

另外

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

$(this).data("id")

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

1 个答案:

答案 0 :(得分:2)

在您提供给colourbox()方法this的对象的上下文中,未引用所点击的链接。为了达到您的要求,您可以遍历每个链接并单独实例化颜色框:

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