2011-09-29 11 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()私のための仕事をしました。私はプログラム的にメタクラスをエスケープする必要はありません。

関連する問題