2009-05-21 5 views
0

다음과 같은 폼이 있습니다.'this'가없는 요소의 색인을 얻는 방법은 무엇입니까?

<div> 
    <div class="contact"> 
     <h1>Person's name</h1> 
     <!-- more stuff goes here --> 
     <form method="post" action="myurl"> 
      <input type="submit" value="go" /> 
     </form> 
    </div> 
    <div class="contact"> 
     <h1>Another name</h1> 
     <!-- more stuff goes here --> 
     <form method="post" action="myOtherUrl"> 
      <input type="submit" value="go" /> 
     </form> 
    </div> 
</div> 

jQuery를 사용하여 양식의 submit 이벤트를 캡처하고 제출 한 단추가 포함 된 div의 인덱스를 가져와야합니다. 일반적으로 jQuery의 index() 함수를 사용합니다.

var i = $(this).parents('.contact').index(this); 

불행히도이 경우 this 연산자는 제출되는 form을 참조합니다. 나는 아마도 내가 누락 된 단순한 무언가가 있다고 생각하지만, 내 마음은 이것에 대해 아무 것도 쓰지 않는다.

답변

5

간단하게 :

var parent = $(this).closest('div.contact'); // get containing DIV 
var i = $('div.contact').index(parent); // get index relative to the rest 
+0

난 그냥 내 자신을 인용합니다 : "나는 내가 부족 간단한 일이 아마 있다고 생각 ..." 감사합니다. – swilliams

+0

땀 냄새가 없습니다. 나는 그것의 문제가 너무 가깝다는 것을 알고 있습니다. –

1
var i = $(this).parents('.contact:first').prevAll('.contract').length 
관련 문제