2012-04-14 54 views
0

我已經記錄,並於各行的動態生成的表,我有一個類名設置爲「hdelete」一個錨標記,使我調用的特定行的鏈接刪除方法被點擊。我有一些代碼,目前是支持掛鉤所有類=「hdelete」jQuery的/ JavaScript代碼結合收集

$("#tbl_srecords").click(function (e) { 
     $(e.target).hasClass("hdelete") ? fnDeletehrecord($(e.target)) : null; //Run the delte row function here 
    }); 

錨上面的代碼似乎沒有工作。它目前所做的只是選擇class ='hdelete'的錨的第一次出現。任何人如何最好地實施這個更好的想法?

+0

請不要濫用像這樣的'?:'運算符。 JavaScript(和幾乎所有其他語言)都有'if()'的原因。 – ThiefMaster 2012-04-14 18:42:06

回答

1

這將一個函數綁定到所有的錨標籤帶班hdelete並調用fnDeletehrecord功能與元素作爲一個jQuery對象過去作爲參數。

$("#tbl_srecords a.hdelete").click(function(){ 
     //NOTE: This represents the anchor tag that fired the event 
     fnDeletehrecord($(this)); 
    }); 
+0

我想你沒有注意到行'我有一個動態生成的table'。 – 2012-04-14 18:52:06

+1

@SheikhHeera我沒有注意到,不過海報並沒有指定是動態生成的內容,也有可能是服務器端。我還認爲,如果點擊是在原始代碼中觸發該功能,他可能不需要綁定動態內容。也不想蛇你的答案。 – 2012-04-14 18:56:07

+0

+1。 :-) – 2012-04-14 18:56:46

0

這應該工作:

$("#tbl_srecords a.hdelete").click(fnDeletehrecord); 

此代碼將處理單擊單元內的hdelete類的聯繫與ID tbl_srecords事件。

2

I have a dynamically generated table

$("#tbl_srecords a.hdelete").live('click', function (e) { 
    fnDeletehrecord($(this)); // pass the element as a parameter to the function 
}); 

live被棄用

這是最新的(推薦)

$("#tbl_srecords").on('click', 'a.hdelete', function (e) { 
    fnDeletehrecord($(this)); // pass the element as a parameter to the function 
}); 

因爲動態內容。

+1

不應該將元素作爲jquery對象傳遞給函數嗎? – 2012-04-14 18:48:21

+0

謝謝,這是一個錯誤。 – 2012-04-14 18:49:51

+0

隨時樂意提供幫助。如使用。對的()+1 – 2012-04-14 18:50:46