ExtJs通过以字符串开头的itemId选择组件

ExtJs通过以字符串开头的itemId选择组件,extjs,extjs4.1,Extjs,Extjs4.1,使用ExtJS4.1 我在面板中有多个带有ID和ItemID的复选框:“chA104”、“chA204”、“chB111”等。 我想得到所有以id(或itemId)=“chA”开头的复选框,以使它们被禁用 怎么做? 尝试使用以下方法: this.query('*[id^=chA]'); 但是得到一个包含多个元素的数组:table、td、input等等。 执行此操作时: Ext.query('input[id^=chA]')[0] 我得到一个html输入元素。但在尝试这样做时: Ext.que

使用ExtJS4.1

我在面板中有多个带有ID和ItemID的复选框:“chA104”、“chA204”、“chB111”等。 我想得到所有以id(或itemId)=“chA”开头的复选框,以使它们被禁用

怎么做? 尝试使用以下方法:

this.query('*[id^=chA]');
但是得到一个包含多个元素的数组:table、td、input等等。 执行此操作时:

Ext.query('input[id^=chA]')[0]
我得到一个html输入元素。但在尝试这样做时:

Ext.query('input[id^=chA]')[0].disable();
Ext.query('input[id^=chA]')[0].setDisabled(true);
我犯了一个错误


那么如何获取所有复选框,从字符串id(或itemId)开始,并使其处于启用/禁用状态呢?

如果您使用的是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;

请在Fiddle上创建一个示例。