Я пытаюсь выбрать все элементы <input> формы, кроме элементов с идентификаторами, содержащими слова foo или bar. Как я могу сделать это с помощью ExtJS 2.3.0? Я пробовал следующее:

Ext.query("select,input:not([id*=foo][id*=bar])", "SomeForm");`

... но это не работает. Исключение идентификаторов с foo в них, кажется, работает нормально:

Ext.query("select,input:not([id*=foo])", "SomeForm")`

Я просто не уверен, как добавить вторую подстроку ID. Есть идеи?

3
pmdarrow 2 Июн 2010 в 21:58

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, когда вы передаете определенный корень с несколькими селекторами атрибутов.

3
SBUJOLD 2 Июн 2010 в 19:13
Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")
1
Ben 2 Июн 2010 в 19:44

Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")` попробуйте это

1
sushil bharwani 2 Июн 2010 в 18:17