728x90
반응형

<!DOCTYPE html>
< html charset="utf-8">
< head>
< meta charset="utf-8">
< script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
< script type="text/javascript">

//for문에서 return false
function Frm_Chk( frm ) {
var frmCnt = frm.elements.length;
for ( i = 0 ; i <= frmCnt-1 ; i++ ) {
var cFrm = frm[i];

if ( !cFrm.value ) {
alert("값을 입력해 주세요.");
cFrm.focus();
return false;
}
}
alert("처리완료");
}

//each문에서 return false
$(function(){
$("#Frm_Chk2").click(function(){
$(".vchk").each(function(i){
if(!$(this).val()){
alert("값을 입력해 주세요.");
$(this).focus();
return false;
}
});
alert("처리완료");
});
});
< /script>
< /head>
< body>

<form name="wFrm">
<p><input type="text" name="test" class="vchk"></p>
<p><input type="text" name="test" class="vchk"></p>
<p><input type="text" name="test" class="vchk"></p>


<p><a style="cursor:pointer" onclick="Frm_Chk(wFrm)">for문_체크</a></p>
<p><a style="cursor:pointer" id="Frm_Chk2">each문_체크</a></p>

< /form>

</body>
< /html>

 

보시면 아시겠지만... for문에서는 값이 없으면 return false에서 끝나는데...

each문은 return false를 지나가는군요....

 

each문에서 return 값만으로 입력값 체크를 할수 있는 방법은 없을까요?

 

$("#Frm_Chk2").click(function(){
$(".vchk").each(function(i){
if(!$(this).val()){
alert("값을 입력해 주세요.");
$(this).focus();
chk = 0;
}
});

if(chk != 0){
alert("처리완료");
}
});

이런식의 처리 말고요...........................

[출처] jquery each에서 return false란|작성자 tlstjrdn03

 

 

 

답변 :

불가능합니다.
function 내에 들어있는 for 문 은 function 이 아니지만

function 내에 들어있는 each 문은 또다른 function 입니다.

each 에서 return false 는 break 과 같은 역할을 합니다

즉 each 함수를 빠져나갈 뿐입니다. 그러면 당연히 each 함수 뒤의 코드는

실행이 되죠.

의심가시면 http://james.padolsey.com/jquery/#v=1.10.2&fn=jQuery.each 에서

jquery core 소스를 보세요.

그렇기 때문에

http://stackoverflow.com/questions/4868931/breaking-parent-function-of-jquery-each-function

이와같이 처리해주셔야만합니다.

728x90
반응형

'JQUERY > 정보노하우' 카테고리의 다른 글

jQuery 강좌 - 기초  (0) 2016.01.04
jQuery & javascript 이벤트  (0) 2015.10.15
jQuery 팝업 제어  (0) 2015.10.15
[jQuery] append / appendTo - 문서 객체 속성 관련  (0) 2015.10.13
JQUERY 핵심노트  (0) 2014.09.05
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,