2013-12-11 2 views
3

내 응용 프로그램에서 jQuery 1.10.2로 업그레이드했으며 내 코드에 오류가 발생했습니다 ($.each).유형 오류 : jquery의 'in'피연산자 e가 잘못되었습니다. 1.10.2v

'invalid 'in' operand e' .

jQuery를 업그레이드 한 후에이 오류가 발생했습니다. 'this._currentFilterbarValue'에는 일부 조건을 검사해야하는 문자열 값이 있습니다.

_CheckForSkipInput: function() { 
    var IsSkip = false; 
    if (this._currentFilterColumn.type == "String") { 
     var stringSkipInput = new Array(">", "<", "=", "!"); 
     $.each(this._currentFilterbarValue, function (index, value) { 
      if (jQuery.inArray(value, stringSkipInput) != -1) 
       IsSkip = true; 
     }); 
    } 
    return IsSkip; 
}, 
+0

'_currentFilterbarValue'의 어떤 종류를 사용하고 계십니까? – Grundy

+0

@Grundy : pls 내 업데이트 된 질문을 확인하십시오. – RGR

답변

4

당신은 무엇을하려고하는 것은, this._currentFilterbarValue의 문자를 반복하는 것입니다 (문자열이다) 따라서 jQuery.each()

The $.each() function can be used to iterate over any collection, whether it is an object or an array.

그래서

var IsSkip = false; 
if (this._currentFilterColumn.type == "String") { 
    var stringSkipInput = new Array(">", "<", "=", "!"); 
    for (var i = 0; i < s.length; i++) { 
     if (jQuery.inArray(s[i], stringSkipInput) != -1) IsSkip = true; 
    } 
} 
return IsSkip; 
}, 

또 다른 방법처럼 시도 실패

문자열 변환 this._currentFilterColumncharacter array에 다음 반복하는이 $.each()

var arr = this._currentFilterColumn.split(""); //Converting a string to char array 
$.each(arr, function (index, value) { //Now iterate the character array 
    if (jQuery.inArray(value, stringSkipInput) != -1) IsSkip = true; 
}); 
+1

감사합니다. @Praveen. 나는이 방법을 시도 할 것이다. 희망이 작동합니다. 내가 확인한 후에는 당신의 대답을 받아 들일 것입니다. – RGR

관련 문제