2011-04-05 4 views
4

은 내 양식을 통해 이동하고 빈 필드가있는 경우이 jquery 루프 외부에서이 변수에 어떻게 액세스합니까?

  1. 가 보는 간단한 JQuery와 루프를 가지고있다. 어떤이 비어있는 경우
  2. ,에 '빈'클래스를 표시하고
  3. 는 기본적으로

변수는 '오류'작성 :

// check all the inputs have a value... 
$('input').each(function() { 

    if($(this).val() == '') { 

     $(this).addClass('empty'); 
     var error = 1; 

    } 

}); 

이 마법을 사용할 수 있습니다. 그러나, 내 코드가 계속되면 그 '오류'변수에 액세스 할 수없는 것처럼 보입니다 ... 마치 각 루프 안에 잠겨있는 것처럼 보입니다. .each() 루프 바로 다음에 다음 코드가 있으면 조건 1과 2가 작동 중임을 알지만 my_error_function()이 실행되지 않습니다.

if(error == 1) { 

    my_error_function(); 

} else { 

    my_non_error_function(); 

} 

이 변수에 액세스하려면 어떻게해야합니까? 결과를 코드의 다른 곳에서 사용할 수 있습니까?

+2

루프 밖에서 선언하십시오. – BoltClock

답변

12

는 함수/루프

var error = 0; 
$('input').each(function() { 

    if($(this).val() == '') { 

     $(this).addClass('empty'); 
     error = 1; 

    } 

}); 
+0

효과가 있습니다! 고마워. – willdanceforfun

+0

나중에 :) 감사합니다! 나는 잠시 기다려야했다. – willdanceforfun

2

범위 외부 변수를 정의 또는 글로벌 변수에 할당 외부에서 오류 변수를 정의합니다. 이름 간격 변수도 작동합니다 (예 : foo.bar.error = 1)

$('input').each(function() { 
    if($(this).val() == '') { 
    $(this).addClass('empty'); 
    window.error = 1; 
    } 
}); 

... 

alert(error); 
관련 문제