1

私はこのようなことを達成したいと思います:

filteringSelect.query = {id: "12|13"};

また

filteringSelect.query = {id: new RegExp("12|13")};

出来ますか?

その FilteringSelect のストアとして ItemFileReadStore を使用しています。

4

1 に答える 1

1

さらに詳しく知りたい場合は、dijit.form.ComboBox / dijit.form.FilteringSelect サブクラスのあいまい一致を参照してください。ただし、これはユーザー入力をフィルタリングするためのものです。

フィルタリング選択で何かを開く/入力する前にエントリをフィルタリングするには、すでに行っていることを続けます。ただし、単純な文字列は OR 演算子を受け入れませんRegExp

クエリの ItemFileReadStore ドキュメント

var store = new ItemFileReadStore( {
    query: {
       id: new RegExp("/^(12|13)$/")
    }
} );

開始点として、すべてのアイテムがストアに存在します。クエリエンジンを利用する方法は次のとおりです。fetch

store.fetch({
        query: { 
          // yes, you can set the query property directly 
          // in the store and leave out this parameter
            id: new RegExp("^(1|12)$")
        },
        onComplete: function(items) {
            dojo.forEach(items, function(item) {
                console.log(store.getValue(item, 'name'))
            });
        }

    })

使用例についてはhttp://jsfiddle.net/LuUbT/を参照してください

于 2012-08-24T20:06:05.750 に答える