ExtJs select component by itemId 以字符串开头
ExtJs select component by itemId starting with a string
使用 Ext Js 4.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)开头并使它们成为 enabled/disabled?
如果您使用的是 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;
使用 Ext Js 4.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)开头并使它们成为 enabled/disabled?
如果您使用的是 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;