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'),
},
});
});
我正在为我的选择器中具有 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'),
},
});
});