2014-03-02 2 views
0

여러 폼이 있고 부모가 특정 ID와 일치하는 입력 필드의 텍스트를 가져 오려고합니다.클래스의 요소를 반복하고 부모 ID를 테스트하는 방법

내 코드는 변수 winner가 입력 필드의 텍스트를 가리켜 야합니다. 입력 필드와 버튼에는 특정 ID (67)를 가진 동일한 부모 '양식'이 있습니다.

HTML :

<form name='form' id='67' method='post'> 
    Winner: <input type='text' class='nameWinner' placeholder='name winner'> 
    <input type='submit' class='getWinner'> 
</form> 

자바 스크립트 :

$(".winnaarAanduiden").click(function() { 
    var duel_id = jQuery(this).parent().attr("id"); 
    var winner = "unknown"; 

$(".nameWinner").each(function() { 
    if($(this).parent().attr("id") == $duel_id) winner = $(this).val(); 
}); 

오전 내가 뭔가 잘못하고, 또는 m의 구문이 올바르지 않습니다?

+0

보십시오. '$ (this) .parent(). attr ("id") === duel_id' – Behrang

+0

예. '$ dualid'는 존재하지 않으며'dualid'는 그것이 생성 된 함수에 국한되어 있습니다. 비슷하게,'winner'는 생성 된 함수의 지역 변수입니다. '다른 기능에서. – Daedalus

+0

해야 할 코드는 무엇입니까? 기대와 다른 점은 무엇입니까? 디버거로 코드를 밟았습니까? –

답변

0

, 귀하의 변수가`라는 이름의 duel_id`하지만 평등 검사가`$의 duel_id`에 있습니다

$(".winnaarAanduiden").click(function() { 
    var $form = $(this).closest('form'); 
    var winner = $form.find('.nameWinner').val() || "unknown"; 
}); 
0

이 시도 : ID를 확인 할 필요가 없습니다

$(".winnaarAanduiden").click(function() { 
    var duel_id = jQuery(this).parent().attr("id"); 
    var winner = $('#' + duel_id).find('.nameWinner')[0].innerText; 
} 
+0

이것은 나를 위해 작동하지 않는다 – Stein

+0

편집 - 지금 일해야한다. –

관련 문제