在最近在coding过程中,遇到了这样一个情况(ext.js):有很多具有级联关系的combobox(后台动态生成,id有规律),在其中一个选择改变时,其下级子节点(所有子类节点)都clean value,回到页面初始渲染状态。后台想到这种情况可以在每个动态生成的combobox绑定一个选择改变事件,通过递归(递推)的思路解决
效果截图如下:
代码如下:
//递归移除当前节点id 有级联关系的所有combobox
function CursionNextNode(currentId) {
//获得当前控件的临近下一个控件
var nextItems = Ext.getCmp(currentId).nextSibling();
var currentItems = Ext.getCmp(currentId);
if (currentItems.xtype == "combobox" ) {
//移除级联子项
while (currentItems.store.data.length > 0) {
currentItems.removeByIndex(0);
currentItems.setValue( "");
}
}
if (nextItems != null ) {
CursionNextNode(nextItems.id);
}
}