我正在尝试选择表单中的所有<input>
元素,但ID包含单词foo
或bar
的元素除外。我怎么能用ExtJS 2.3.0做到这一点?我尝试了以下内容:
Ext.query("select,input:not([id*=foo][id*=bar])", "SomeForm");`
......但它不起作用。排除其中包含foo
的ID似乎工作正常:
Ext.query("select,input:not([id*=foo])", "SomeForm")`
我只是不确定如何添加第二个ID子字符串。任何想法?
答案 0 :(得分:3)
不确定如何组合这样的选择器,但我认为如果你使用过滤器功能,你可以过滤掉第一个查询:
Ext.DomQuery.filter(Ext.query('input:not([id*=foo])','SomeForm'),'input:not([id*=bar])');
请注意,我只是玩了一下这个功能并且该功能有效:
Ext.query('input:not([id*=foo]):not([id*=bar])');
但这给了我你提到的同样的错误:
Ext.query('input:not([id*=foo]):not([id*=bar])','SomeForm');
因此,当您传递具有多个属性选择器的特定根时,在我看来就像是ExtJS查询函数的错误。
答案 1 :(得分:1)
Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")
答案 2 :(得分:1)
Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")`
试试这个