2010-10-07 80 views
1

我正在重新制作我管理的网站的管理部分的页面,以便它使用jQuery和AJAX。在其中一页上我有一个项目列表。每个项目旁边有一个链接,是这样的:通过链接将变量传递给jQuery

<a href="delete.php?id=48" class="del_link">delete</a> 

如果我给这些链接一个类,我可以轻松地将一个jQuery功能,所有的人,但他们都调用同一个函数在同办法。我的问题是:什么是函数的最佳方式来获取项目的ID,而不包括JavaScript与HTML内联?

更新: 感谢您的指点,大家。 我已经结束了使用此:

$(".del_link").click(function(){ 
    var del_link = $(this).attr('href'); 
    $("#results").load(del_link, function(){ 
     $("#results").show().delay().fadeTo(2000, 0); 
    }) 
}) 

如果它被要求通过AJAX或正常的Ajax调用以不同的方式响应PHP文件 - 如果它的Ajax它输出的响应(如“项目已成功删除“),它可以显示在#results div中。如果有人禁用JavaScript,则客户端将被定向到同一个php页面,但是一旦该项目被移除,它将重定向它们。

回答

7

快速和肮脏的:

$('.del_link').click(function(){ 
    var id = $(this).attr('href').split('=')[1]; 
    // Do something with the ID here 
}); 

被警告,这不会如果链接URL有一个以上的查询参数的工作。在这种情况下,你必须对attr('href')值做一些稍微复杂的解析。

+0

+1打我吧.. :) – 2010-10-07 13:04:32

0

当您添加onClick处理程序时,则将链接this

检查href属性(使用this.href)并解析ID。

2

好,你可以得到HREF足够容易:

var id = $('.del_link a').attr('href'); 

然后就解析id列。

2

在HTML 5中,您可以使用数据属性。像

<a href="delete.php?id=48" class="del_link" data-id='48'>delete</a> 

和jQuery

$("a.del_link").each(function(){ 
    var id = $(this).attr('data-id'); 
}); 

阅读this对HTML 5的数据文章的东西属性