我的需求: [color=brown]我用的是Ext3.0[/color]1.一个文本框后跟两个按钮,一个添加,一个删除
2点击“添加”,我的form中新添加一个文本框和他后面的两个按钮
3点击“删除”,删除当前行的文本框及按钮
4.这几个文本框怎么取的他们的值
我已经做到的:
一个文本框后跟两个按钮,一个添加,一个删除
我需要帮助的是
[color=red]这两个按钮的处理函数,以及这几个文本框怎么取的他们的值???[/color]
[align=left]{
xtype:'panel',
layout:'column',
id:'answerPan',
defaults:{border:false},
border:false,
bodyStyle:{'background':'none'},
items:[{
layout:'form',
labelWidth:60,
defaultType:'textfield',
bodyStyle:{'background':'none'},
items:[{
fieldLabel:'选项',
name:'answer_txt'
}]
},{
xtype:'button',
width:20,
style:{'margin-left':'10px'},
text:'+',
listeners:{
'click':addButton
}//监听器在这里结束
},{
text:'-',
width:20,
style:{'margin-left':'10px'},
xtype:'button'
}]
}],//组件定义在这里结束[/align]
:shock: :shock: :shock: :shock:
[img]http://yourgame.iteye.com/upload/picture/pic/42749/ec2818e5-f543-3fbf-be7d-ad490cef928c.jpg[/img]
[code="js"]
Ext.onReady(function() {
Ext.BLANK_IMAGE_URL = 'ext-3.0.0/resources/images/default/s.gif';
function createCmp() {
return {
layout : 'hbox',
border : false,
labelSeparator : ' ',
isFormField : true,
baseCls : 'x-plain',
items : [{
xtype : 'textfield',
name:'xyz'
}, {
xtype : 'button',
text : '增加',
handler : function() {
var form = this.ownerCt.ownerCt;
form.add(createCmp());
form.doLayout();
}
}, {
xtype : 'button',
text : '删除',
handler : function() {
var form = this.ownerCt.ownerCt;
if (form.items.length > 1) {
form.remove(this.ownerCt);
form.doLayout();
}
}
}]
};
}
var form = new Ext.form.FormPanel({
labelWidth : 1,
border : false,
baseCls : 'x-plain',
items : [createCmp()]
});
var win = new Ext.Window({
width : 300,
height : 300,
bodyStyle : 'padding:5px',
items : [form],
fbar : [{
text : '取值',
handler : function() {
Ext.Msg.alert('values',Ext.encode(form.getForm().getValues()));
}
}]
});
win.show();
});
[/code]
你获取文本框的对象后直接用getValue()方法获取不就行了。。
addButton 的关键代码