我需要允许我的用户通过单击一个按钮来提交多个属性地址,该按钮将插入一个带有额外文本字段的字段集。我可以简单地使用 form.insert(index, component); 但是,该索引将在用户添加其他属性后发生变化。例如,添加额外属性的索引在第 7 个组件之后,使索引为 7。但是当您在 7 处插入它时,它的索引现在是 7,并且将在其上方插入下一个属性。当您尝试使用相同形式的联系电子邮件和号码来执行此操作时,这种效果会更加复杂。所以我的问题是,如何以我希望在之后插入额外字段的形式获取组件的索引?
问问题
2288 次
2 回答
0
fieldset.items.getCount()
还是我错过了什么?
于 2012-06-02T23:01:20.307 回答
0
不完全直截了当,但也不算太糟糕。看看下面的代码:第一部分是添加一组字段的按钮处理程序,第二部分是创建索引字段的实际函数。
handler:function () {
var parts = this.up('fieldset'),
index = parts.query('fieldcontainer').length, //calculate existing Part line items
fields = this.up('window').createPartFieldContainer(index);
parts.add(fields);
}
createPartFieldContainer:function (index) {
index = index || 0;
return {
xtype:'fieldcontainer',
items:[
{
xtype:'textfield', fieldLabel:'Item',
name:'lineItem[' + index + '].itemNumber', width:100,
emptyText:'Part Number'
}
]
}
}
于 2012-06-04T06:07:14.693 回答