ExtJs выбирают компонент по itemId, начиная со строки - PullRequest
0 голосов
/ 31 мая 2019

Использование Ext Js 4.1.

У меня есть несколько флажков на панели с идентификаторами и itemIds: 'chA104', 'chA204', 'chB111' и т. Д. И я хочу получить все флажки, которые начинаются с id (или itemId) = 'chA', чтобы отключить их.

Как это сделать?Попытался использовать это:

this.query('*[id^=chA]');

Но получить массив с несколькими элементами: таблица, тд, ввод и т. Д. При этом:

Ext.query('input[id^=chA]')[0]

Я получаю элемент ввода HTML.Но при попытке сделать:

Ext.query('input[id^=chA]')[0].disable();
Ext.query('input[id^=chA]')[0].setDisabled(true);

я получаю сообщение об ошибке.

Итак, как получить все флажки, начиная со строкового идентификатора (или itemId) и сделать их включенными / отключенными?

1 Ответ

1 голос
/ 31 мая 2019

Если вы используете флажки extjs, вы можете сделать это следующим образом:

//enable/disable
Ext.ComponentQuery.query('checkboxfield{id.search("chA")!=-1}')[0].disable(); 
//check/uncheck                           
Ext.ComponentQuery.query('checkboxfield{id.search("chA")!=-1}')[0].setValue(true);

Если это чистый HTML, просто используйте:

//enable/disable
Ext.query('input[id^=chA]')[0].disabled = true;
//check/Uncheck
Ext.query('input[id^=chA]')[0].checked = true;
...