2014-11-14 6 views
0

페이지에 여러 개의 입력이 있습니다. 입력이 여러 개인 경우, "info div"가 나타납니다. 이제 모든 입력을 수동으로 지우면 (keyup에서) 해당 "info div"를 숨길 필요가 있습니다.모든 입력이 비어 있는지 확인하십시오.

키 입력시 모든 입력이 동시에 비어 있음을 어떻게 확인할 수 있습니까?

건배 모든 입력을 통해

+0

정보 div가 어떻게 나타나는지 보여주세요 –

답변

10

루프, 당신은 비어 있지 않은 하나에 도착하면 당신은 그들이 모두 비어 있지 않은 거 알아. 루프를 찾지 않고 루프를 완료하면 모두 비어 있습니다.

function isEveryInputEmpty() { 
    var allEmpty = true; 

    $(':input').each(function() { 
     if ($(this).val() !== '') { 
      allEmpty = false; 
      return false; // we've found a non-empty one, so stop iterating 
     } 
    }); 

    return allEmpty; 
} 

(당신이 비어 그것은 단지 공백을 입력을 처리 할 경우)은 비교하기 전에 '트림'입력 값으로 할 수 있습니다. 확인중인 입력에 대해보다 구체적으로 설명하고자 할 수도 있습니다.

+1

'if ($ (this) .val()! ==' ')와 같이 입력 필드가 채워지 자마자 루프를자를 수 있습니다.) { false를 반환합니다. }' – dsuess

+0

@dsuess 업데이트되었습니다. 감사. (예제가 충분하지 않지만 내부 함수 내부에서 외부 함수를'false'로 반환 할 수는 없습니다! 대신에'allEmpty = false'를 설정 한 다음'$ .each'에게 멈추도록'false'를 반환합니다 iterating.) – Shai

+0

매력처럼 작동합니다. 감사! – John