2011-09-29 4 views
0

노트 필드 (텍스트 영역)가있는 데이터 저장소가 있고 사용자 입력 (메타 문자조차도)을 만족하는 모든 노트를 표시하려고합니다.Extjs 스토어 필터링 - 메타 포함

나는이 문제를 처리하기 위해 다음과 같은 기능을 작성했습니다 :

function notefilter() { 
    var newfilter = Ext.getCmp('searchnote'); 
    var searchStr = newfilter.getValue(); 
    searchStr = searchStr.replace('?', '\\?').replace('*', '\\*').replace('+', '\\+').replace('{', '\\{').replace('}', '\\}').replace('[', '\\[').replace(']', '\\]').replace('(', '\\(').replace(')', '\\)').replace('|', '\\|').replace('$', '\\$').replace('^', '\\^'); 

    var re = new RegExp(".*" + searchStr + ".*", "ig"); 
    Ext.getCmp('notesgrid').store.filter('Note', re); 
} 

필터도를 탈출 한 후 메타 문자를 검색하는 데 실패,하지만 작동하지만

다른 모든 영숫자 입력합니다.

나는 뭔가를 놓친가요?

미리 감사드립니다.

답변

0

마지막으로 필터가 작동합니다. JavaScript는 escape() & encodeURIComponent()에 내장되어 있습니다. 나는 프로그래밍 방식으로 메타를 탈출 할 필요가 없다.