2014-06-09 2 views
0

jquery에서 서버 측의 모든 값을 가져온 다음이 값을 기준으로 클라이언트 측에서 일부 유효성 검사를 수행하는 함수를 사용했습니다. 다음은 내가 사용한 코드입니다.jquery에서 foreach를 사용하는 동안 변수의 개별 값을 얻는 방법

AOT.View.AssetMarkTrustTrust.prototype.validateSubmit = function() {  
var result = false; 
var message = ''; 
result = applicationView.GetCardEmbossings();//this method will get the values from the server side 

if (result != null) 
    $.each(result, function() { 
     if ((result.CardEmbossingLine1.Length > 26) || 
        (!string.IsNullOrEmpty(result.CardEmbossingLine2) && result.CardEmbossingLine2.Length > 26) && !result.Suppress) { 
      AOT.Utility.displayWarning("Please use Card/Check Editor to specify name that will be printed on card, 26 characters max."); 
      return false; 
     } 
    }); 

if (!result && !AOT.Utility.isNullEmptyUndefined(message)) { 
    AOT.Utility.displayWarning(message, ''); 
} 
return result; 

}};

문제점은 CardEmbossingLine1 값의 길이를 확인할 때 정의되지 않은 것으로 표시된다는 것입니다. 그러나 객체 결과 아래에는 값이 있습니다. 객체 아래의 다른 값이 정의되지 않아 조건이 실행되지 않아 조건을 수행 할 수 없습니다. 제가 누락 된 부분을 알려주십시오.

감사

+0

아래 JQuery와 반복 UR 결과 통해 object.See 코드는 코드 이후 CONSOLE.LOG 넣으면 설정된 2 개 파라미터를 취할 수있는 기능 : 결과 = applicationView.GetCardEmbossings(); 그리고 객체의 구조를 분석하십시오. –

+0

'applicationView.GetCardEmbossings();이게 ajax 호출입니까? – Abhitalks

+0

예, 함수 내에서 변수를 수정 한 후 내 변수가 정의되지 않은 이유는 무엇입니까? Ajax 호출 – Yash

답변

0

"각각"

if (result != null) 
$.each(result, function (index,eachResult) { 
    if ((eachResult.CardEmbossingLine1.Length > 26) || 
       (!string.IsNullOrEmpty(eachResult.CardEmbossingLine2) && eachResult.CardEmbossingLine2.Length > 26) && !eachResult.Suppress) { 
     AOT.Utility.displayWarning("Please use Card/Check Editor to specify name that will be printed on card, 26 characters max."); 
     return false; 
    } 
}); 
관련 문제