我真的很想在函数中传递一个参数,以便在我的ajax帖子页面中使用。
这是我的fancybox脚本,偶数显示正常。
var fancyContent = ('<div class="header">approve booking for event id' + eventid + '<a href="#" class="approve" id="' + eventid + '">yes</a><a href="#" class="approve">no</a></div>');
$.fancybox({
content: fancyContent
});
从点击链接中获取活动ID
var getid = $('.approve').attr('id');
此处的提醒显示ID
alert(getid);
然后我开始点击功能将getid作为参数传递
$('.approve').click(function(calEvent, jsEvent, view, getid){
我的警告总是未定义,有什么想法吗?
alert(getid);
答案 0 :(得分:4)
要获取所点击项目的ID,您可以尝试这样做:
$('.approve').click(function() {
var id = $(this).attr('id');
});
答案 1 :(得分:3)
如果要将数据传递给事件处理程序,可以使用trigger
方法:
来自jQuery docs:
$("p").click( function (event, a, b) {
// when a normal click fires, a and b are undefined
// for a trigger like below a refers to "foo" and b refers to "bar"
}).trigger("click", ["foo", "bar"]);
$('.approve').trigger('click', [jsEvent, view, 'id'])
答案 2 :(得分:1)
用你的行
$('.approve').click(function(calEvent, jsEvent, view, getid){
您正在创建新功能。你定义这个函数的参数,就像在任何函数声明中一样,这里的变量名称(如calEvent
,view
或getid
)是本地的。所以你在这里使用相同的名称,并不意味着jQuery会将相同的变量传递给函数。换句话说:当您使用getid
这个新函数时,它与函数外部的函数完全不同getid
。
因此,为了获取您的ID,您需要重新分配它并再次执行与在函数外部相同的技巧。