2013-08-14 2 views
2

사용자가 입력 필드에 지불을 입력하면 양식에서 자동으로 잔액을 계산합니다. 예를 들어 합계가 1000 달러이고이를 3 회 지불로 나누고 싶다고 가정합니다. 그는 첫 번째 지불 필드에 $ 500를 넣고 나머지 $ 500는 다음 지불 필드에 균등하게 분배합니다. 각 250 달러. 사용자가 두 번째 지불을 위해 200 달러를 원하면 최종 지불 필드에 $ 300이 삽입됩니다. jquery가 다음 입력 필드를 찾을 수 없습니다.다음 입력 필드를 모두 찾으십시오.

이것은

<div id="payment-terms-fields"> 
    <div class="payment-rows"> 
    <div> 
     <input type="text" name="payment[]" class="payment-terms"> 
     <span class="payment_term_sign">%</span> 
    </div> 
    <div><select class="term">....</select></div> 
    </div> 

    <div class="payment-rows"> 
    <div> 
     <input type="text" name="payment[]" class="payment-terms"> 
     <span class="payment_term_sign">%</span> 
    </div> 
    <div><select class="term">....</select></div> 
    </div> 



</div> 

이 내 JQuery와 나는 다음 입력 필드를 어떻게 찾을 수 있습니까 코드 위

$(document).on("keyup", ".payment-terms", function() { 
var nextFields = $(this).parents("#payment-terms-fields").find('input.payment-terms').not(this); 
}); 

this 제외한 모든 입력 필드를 발견 한 다음 입력 필드를 찾는 것이 내 양식이다?

+0

'var nextFields'가 함수에 싸여 있습니까? 그렇지 않다면,'this'는 다른 요소 또는'window'를 가리킬 것입니다 ... 그것은 모두 문맥에 관한 것입니다. 더 많은 코드를 제공 할 수 있습니까? – Dom

+0

아니요, 그렇지 않습니다. 코드를 업데이트했습니다. – u54r

답변

0

좋아, 해결 했어!

이 개선 될 수 있지만, 문제는이 바이올린에 나를 위해 일한 경우가 또는 얼마나 효율적 확실하지 :

$(this).parent().parent().nextAll().find(".payment-terms").css("background", "#00ff00"); 
이 바이올린의

전체 데모 :

2

ID가 페이지에서 고유하기 때문에 ID에서 직접 내림차순으로 지정할 수 있습니다. 부모님을 사용할 필요가 없습니다().

$('#payment-terms-fields').find('input.payment-terms').not(this).next() 
+0

이것은 변경되지 않았습니다. 모든 입력 필드를 다시 선택합니다. – u54r

0

$(this).next().find('input.payment-terms')과 같은 것을 사용해 보셨나요?

+0

방금 ​​시도했지만 작동하지 않습니다. – u54r

관련 문제