Extjs组件进行操作的前提是获取需要的组件,ext可以通过定义的组件名,css选择器或者通过组件的id来获取组件。
1.通过id获取组件
<span style="font-size:12px;">var event_title=new Ext.form.TextField({
id: 'event_title_id',
name : 'application_title',
maxLength : 200,
msgTarget : 'side',
maxLengthText:'该字段字符最大长度为200',
anchor: '100%',
allowBlank:false,
blankText:'问题标题必须填写!',
labelWidth: 58,
fieldLabel : '问题标题'
});</span>
对event_title进行赋值的方法如下:
event_title.setValue('这是我的标题'); 或者:Ext.getCmp('event_title_id').setValue('这是我的标题');
2.通过父组件获取子组件
varproperty_loss=Ext.create('Ext.form.RadioGroup', {
fieldLabel: '财产损失',
labelWidth:58,
items:[{
boxLabel:'是',
name: 'rb-col1'
},{
boxLabel:'否',
name: 'rb-col1',
checked: true
}]
});
property_loss.items.items[0].checked=true; //设置财产损失为是
3.Extjs4.x通过down()和up()方法获取组件
通过传递一个css选择器来获取所需要的组件
varwin=newExt.Window({
title : '查看窗口',
width : 600,
autoHeight :true,
modal : true,
constrain : true,
closable : false,
closeAction : 'hide',
layout : 'fit',
items : [{
xtype: 'form',
region : 'center',
autoScroll:true,
frame : true,
items : items,
buttons:[
{
text :'关闭',
handler : function(){
<span style="white-space:pre"> </span>/*this指的是button,this.ownerCt.ownerCt获取到的是win,然后向下搜索form,然后重置form表单*/
this.ownerCt.ownerCt.down('form').getForm().reset();
detailedWindow.hide();
},{
text: '确认完成'
}
}]
}).center().show();
//获取“确认完成按钮”并隐藏
win.down('button[text=确认完成]').hide();
down()是向下查找,up则是向上查找,如下在button的handler方法里通过下面获取window里的form
var form=this.up('form').getForm();
var form=this.up('window').down('form').getForm();
(另外:当一个窗口通过点击一个按钮需要重复被打开时,不要给window设置id,否则窗口第二次开发会出现窗口内容和布局混乱。这是因为window再次被打开时相同的id被重复创建,造成混乱)