2010-10-07 83 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的數據文章的東西屬性