我现在点击grid某一行,获得grid中总数和单数,计算出的个数取整,显示在另一个form中的三种文本框,
比如计算出 3,循环3行 这组文本框,现在是我点击第二行grid的时候,希望删除之前生成的文本框。
但是获取不了form1.items的长度,所以没有条件来判断删除, var items = formSim.getForm().items;
var item = "";
alert("length:" + items.length);//这个长度没有获取到生成的3行9个文本框
if (item = items.last()) {
formSim.remove(item); //这样删除,下面的生成文本框也全都不显示了。
}怎么获得这种动态控件生成的信息,作为条件判断 删除。
比如计算出 3,循环3行 这组文本框,现在是我点击第二行grid的时候,希望删除之前生成的文本框。
但是获取不了form1.items的长度,所以没有条件来判断删除, var items = formSim.getForm().items;
var item = "";
alert("length:" + items.length);//这个长度没有获取到生成的3行9个文本框
if (item = items.last()) {
formSim.remove(item); //这样删除,下面的生成文本框也全都不显示了。
}怎么获得这种动态控件生成的信息,作为条件判断 删除。
解决方案 »
- 请问 prototype 和 __proto__ 有什么不同?
- jquery1.7.2不能使用jquery datepicker日历控件吗
- web server 如何实现显示缩略图的功能
- 窗口全屏的问题,急~
- javascript 路径含有空格会提示该文件不存在! 请高手帮忙解决一下! 不胜感激!!!
- 关于$(document).ready(function(){}) 一个容易被忽略的问题
- JAVA地址构建参数的问题,谢谢,江湖救急
- 请教关于 select 的用法
- "不能执行已释放 script 的代码 " ,这是什么错阿?
- 哪位高手知道这个问题:比如一个页面有两个input框,已指定每个input的maxlength,怎样能实现当第一个input输入完后,光标自动转到下一个i
- 如何修改可以让jRating重复选择?
- 求解决浏览器兼容问题
你要获取form1.items的长度干嘛呢?
你既然可以直接删除动态的控件,那你为什么还要判断from1是否已经有控件呢?
直接删除了,再展示你最新计算的不就得了?
for (var i = 0; i < numInt; i++) { var comboxPallet = {
xtype: 'combo',
fieldLabel: '托盘编号',
store: PalletStore,
name: 'PalletId' + i,
hiddenName: 'PalletId' + i,
valueField: 'Id',
displayField: 'PalletNo',
typeAhead: true,
mode: 'remote',
triggerAction: 'all',
emptyText: '---请勿重复选择---',
selectOnFocus: true
} var comboxMaterialShelf = {
xtype: 'combo',
fieldLabel: '货架编号',
store: ShelfStore,
name: 'ShelfId' + i,
hiddenName: 'ShelfId' + i,
valueField: 'Id',
displayField: 'ShelfCode',
typeAhead: true,
mode: 'remote',
triggerAction: 'all',
emptyText: '---请勿重复选择---',
selectOnFocus: true
} var firt = {
xtype: 'textfield',
fieldLabel: '整托盘',
id: 'Text' + i,
name: 'fir',
allowBlank: false,
value: '1托'
} formSim.add(firt);
formSim.add(comboxPallet);
formSim.add(comboxMaterialShelf);
formSim.doLayout();
}
不会删除刚才生成的文本框。T T
formSim.remove(firt);
formSim.remove(comboxPallet);
formSim.remove(comboxMaterialShelf);
1.add以后执行一下 doLayout()
2.不用add用 addAt( field, position ) 指定位置。
你试试,我没试过,祝你好运
首先removeAll();
其次添加新的元素
最后重绘formpanel
form2里嵌套form1 form1里负责根据count添加组件
每次点击grid的时候 form1先从form2中移除---> 构造新的form1--->再根据新获得的count 将组件加入form1---> 将form1 加入到form2中---> 最后重绘