2013-03-02 123 views
2

我在表格單元格中有幾個<span>元素。對於每個跨度,當用戶點擊它時,我正在使用事件委派來發出ajax請求。 (捕捉事件的函數綁定到表格單元格)。jQuery事件代表團和祖先

問題是,ajax調用需要包含一個錶行標識符,我不知道在哪裏存儲這個標識符,或者如何引用和使用它。

例如,假設表中的每一行代表一個Person,那麼當用戶點擊該行的一個跨度時,ajax調用需要包含personId。

應該personId是該行的類屬性(例如<tr class='person-id-123'>...)?或者也許是一個ID(例如<tr id='person-id-123'>...)?我該如何引用並在捕獲click事件的函數中使用它?

謝謝!

回答

2

使用HTML5 dataset attributes

<tr data-person-id=123> 

$(".tr-parent").on('click', 'tr', function() { 
    //$(this).data('person-id') is also valid 
    ajaxRequest(this.dataset.personId); 
}); 
0

爲此,您可以使用ID,類任何東西,因爲從jQuery的我們可以得到價值。但是如果你使用Data屬性會更好。

現在在這裏爲您跨度

<span data-person-key="47" class="spanclass"> 
</span> 

和jQuery的你可以得到像這樣的價值。

$(document).on("click",".spanclass",function(){ 
    var personKey = $(this).data("person-key"); 
    $.ajax({ 
    url: "whatever you url is. if its asp.net then method of controller will be here.or may be php page", 
    type: "POST", 
    data: {Personid : personKey }, 
    success://whatever you want to code in success, 
    error://whatever you want to code in error 
    }); 
});