2013-03-02 2 views
2

테이블 셀에 여러 개의 <span> 요소가 있습니다. 각 범위에 대해 사용자가 클릭 할 때 이벤트 위임을 사용하여 Ajax 요청을 시작합니다. 이벤트를 트랩하는 함수는 테이블 셀에 바인딩됩니다.jQuery 이벤트 위임 및 조상

문제는 아약스 호출에 테이블 행 식별자가 포함되어야하며이 식별자를 저장할 위치 나 참조 및 사용 방법을 잘 모르는 것입니다.

예를 들어, 테이블의 각 행이 사람을 나타내면 사용자가 해당 행의 범위를 클릭하면 ajax 호출에 personId가 포함되어야한다고 가정하십시오.

행의 클래스 속성이어야합니까 (예 : <tr class='person-id-123'>...)? 또는 ID (예 : <tr id='person-id-123'>...)? 클릭 이벤트를 포착하는 함수에서이를 참조하고 사용하려면 어떻게해야합니까?

감사합니다. JQuery와에서 우리가 가치를 얻을 수 있기 때문에 당신이 ID, 클래스 아무것도 사용할 수 있습니다 이것에 대한

답변

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

. 데이터 속성을 사용하면 더 좋을 것입니다.

당신의 범위

<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 
    }); 
});