Extjs 4:在点击按钮时添加动态字段

时间:2016-01-29 15:48:05

标签: javascript extjs4 formpanel

我有一个包含项目的表单和“添加”按钮,可以动态地向表单添加字段(复制第一个字段)。 链接到按钮的功能是什么 这是我的代码:

     var form new Ext.form.FormPanel({
            items           : [{
                xtype: 'fieldcontainer',
                combineErrors: true,
                msgTarget : 'side',
                layout: 'hbox',
                items: [{
                    xtype       : 'displayfield',
                    margin      : '0 10 0 0'
                },{
                    xtype       : 'button',
                    text        : 'select'
                }]
            }]
            ,buttons: [{
              text    : 'Add field'
            }]
        })

1 个答案:

答案 0 :(得分:0)

我认为您应该在按钮上定义click函数(或者将itemId设置为按钮并在控制器中定义一个函数,您可以在其中访问表单对象项数组并添加动态'fieldcontainer'对象以形成。请参阅下面的代码段:< / p>

在视图中:

,buttons: [{
          text    : 'Add field',
          itemId : 'addField'
        }

在控制器中:

refs : [{
    selector : 'viewport form',
    ref : 'myForm'
},
init : function(){
    this.control({
        '#addField':{
            click : this.addFieldContainer
        }
        });

},

addFieldContainer: function(){
var form = this.getMyForm();
form.items.push({
            xtype: 'fieldcontainer',
            combineErrors: true,
            msgTarget : 'side',
            layout: 'hbox',
            items: [{
                xtype       : 'displayfield',
                margin      : '0 10 0 0'
            },{
                xtype       : 'button',
                text        : 'select'
            }]
        });

}

希望这有帮助。