2011-05-04 2 views
0
<tr id="autogeneratedrowid_gridrow1"> 
    <td>1</td> 
     <td>2</td> 
    <td> 
     <table id="unitprice"> 
      <tbody> 
      <tr> 
      <td> 
      <A class=link2 id="aurogenerated" onclick="setMode(this); return false;">Edit</A> 
         </td> 
      </tr> 
      </tbody> 
     </table> 
    </td> 
</tr> 
<tr id="autogeneratedrowid_gridrow2"> 
..... 
..... 
</tr> 

이 난 링크 버튼 setMode 기능을 클릭 내 렌더링 된 HTML 코드는 내가 전달 해요 &라고한다 '이'내가 링크 버튼을 jQuery를 사용하여 클릭이 때 gridrow를 찾으려면 함수에 링크 버튼을 의미? 나는이셀 내용에서 행을 어떻게 찾습니까?

$("#" + lnkBtn.id).parent().parent().parent().parent().parent().parent(); 

를 사용하고 있지만, 이것이 당신의 ID가 자동 생성되기 때문에

답변

3

을 그 일을하는 올바른 방법으로하지 않습니다, 당신이 할 수 있습니다 : closest이 무엇

$("#" + lnkBtn.id).closest("table").closest("tr"); 

을하는 것입니다 selector와 일치하는 가장 가까운 antecessor를 찾습니다.

수정 : 위의 해결 방법으로 문제를 해결할 수 있습니다.

<tr id="autogeneratedrowid_gridrow1" class='rowClass'> 

을 그리고 당신의 선택은 다음과 같습니다 그러나 더 나은 솔루션 (당신이 HTML 마크 업을 변경할 수있는 경우), 다음과 같이, 이제 'rowClass'을 말할 수, 당신의 모든 행 tr의에 클래스를 추가하는 것입니다 이 :

$("#" + lnkBtn.id).closest(".rowClass"); 

희망이 있습니다. 건배

+0

내 ID는 어떻게 autogeneated입니까? 내가 그것에 클래스를 추가 할 수 있습니까? 고맙습니다 – Tuscan

+0

이드는 중요하지 않습니다. 그대로 유지됩니다. 'tr' = ** class ** 속성에 value 'rowclass'속성을 추가해야하므로' –

0

당신이 closeset

http://api.jquery.com/closest/

$("#" + lnkBtn.id).parent().closest('tr') 
+0

이렇게하면 일곱 번째 줄에'tr'이 생깁니다 코드의 (잘못된) –

0
$('.link2').closest('table').closest('tr'); 
0
$("#" + lnkBtn.id).parents('tr').index()); 

이 코드는 행의 인덱스를 줄 것이다 사용할 수 있습니다, 이것은 당신을 도움이되기를 바랍니다.

관련 문제