2012-09-19 2 views
2

를 얻을 : 나는 선택 ID의 ID 번호를 얻으려면, remove 링크를 클릭 할 때 시도하고JS : 다음 구조를 갖는 가장 가까운 ID 번호

<td class="padding_right padding_left">Neighborhood</td> 
<td> 
    <div id="neighborhoods_region">  
    <select class="inputs_form_data" id="neighborhood_id2" name="neighborhood_id2"> 
     <option value=""></option> 
     <option value=""></option> 
    </select> 
    </div> 
</td> 
<td width="10%"><a class='delete-region'>remover</a></td>​ 

. 이 경우 "neighborhood_id2"에서 2 번을 가져와야합니다.

하지만 먼저 전체 ID를 얻으려고합니다. 다음 코드 neighborhood_id2 :

$(document.body).on('click','a.delete-region', function() { 
    alert($(this).closest('select').attr("id")); 
}); 

그러나 이것은 나에게 undefined를 반환합니다.

참고 : id 숫자는 동적 양식으로 즉석에서 생성됩니다. 그래서 나는 neighborhood_id3을 가지고 있을지도 모른다.

답변

7

은/Andreas로서 select,

alert($(this).closest('tr').find('select').attr("id")); 

이 ... .on (위임 이벤트)를 사용하여 지적 찾을 당신에게 tr를 얻을 것이다 .closest('tr')를 사용하여 속임수를 썼는지

+0

.delegate을보십시오! 고맙습니다! :) –

+1

['.live()'] (http://api.jquery.com/live/)로 ['.on()'] (http://api.jquery.com/on/)를 사용하십시오. 는 (는) 사용되지 않습니다. – Andreas

+0

시도했지만'.on()'이 작동하지 않습니다 : ( –