如果我使用这个dojo指令,并且一切正常。
sampleStore.query({ item_name:/^aa/}, {sort: [{attribute: "des"}]});
如何使用变量(过滤器)代替“aa”,例如
var filter="aa";
sampleStore.query({ item_name:/^filter/}, {sort: [{attribute: "des"}]});//don't work
或
sampleStore.query({ item_name:/^"+filter+"/}, {sort: [{attribute: "des"}]});//don't work
答案 0 :(得分:1)
您不能在JavaScript正则表达式中使用字符串。如果你想做类似的事情,你需要使用new RegExp()
来创建一个基于字符串的正则表达式。
sampleStore.query({ item_name: new RegExp('^' + filter) }, {sort: [{attribute: "des"}]});
注意:如果您以这种方式使用正则表达式,则无法添加分隔符/
。如果您需要添加i
等修饰符(不区分大小写/.*/i
),可以使用以下命令执行此操作:
new RegExp(".*", i);