经常在Ext.select()和Ext.query()等问题上纠结,今天终于有了点新认识:
需求,假设我们的页面上有个panel ,其id为clusterstab_edit_details,这个panel的内部有个textarea,这个textarea的name为editDetails_Description,那么我们有多少方法可以取得textarea中当前输入的内容的值呢?
方法1:
我们可以先Ext.getCmp获取父panel的组件,然后用它的getValues()方法获取这个form面板所有的子元素的结果集,然后我们用.操作符来获得我们所希望的取值。
Ext.getCmp('clusterstab_edit_Details').getValues().editDetails_Description
第二种是通过Ext.query方法,然后传入一个选择器,然后我们得到的是一个HTMLElement[]数组,我们获取第0个值,因为唯一的,我们取得它的value属性从而获得值;
Ext.query('[name=editDetails_Description]')[0].value
第三种方法是通过Ext.select方法,然后传入一个选择器,我们得到是Ext.CompositeElement对象,它是Element数组,我们获取第1个匹配的值,然后
Ext.select('[name=editDetails_Description]',true).element[0].getValue()