如图,标准主题、大类、子类、三级分类依次是级联上下级关系,下一级的选择的应该是基于上一级的选择,而且上一级没有选择的话下一级是不允许被选择的
废话不多说,直接上代码
items : [{
columnWidth : .5,
xtype : 'fieldset',
layout : 'form',
border : false,
style : 'margin-left: 10px;padding-left: 5px;margin-top:20px;',
// 第一列中的表项
items : [{
xtype : 'combo',
fieldLabel : '<span style ="color:red"> *</span>标准主题',
anchor : '80%',
id : "std_topc",
name : 'std_topc',
triggerAction : 'all',
forceSelection : true,
mode : 'local',
blankText : '标准主题不能为空',
emptyText : '请选择',
valueField : 'dd_id',
displayField : 'dd_text',
store : stdTopcStore,
listeners : {
select : function(combo, record, index) {
// 标准大类
Ext.getCmp("std_lrgcls").setValue("");
Ext.getCmp("std_subcls").setValue("");
Ext.getCmp("lv3_cls").setValue("");
var str=Ext.getCmp("std_topc").getValue();
stdLrgclsStore.load({
start : 0,
limit : 100,
params : {
'tableName' : 'sys_datadictionary',
'columnValue' : 'dd_id',
'columnDisplay' : 'dd_text',
'condition' : "dd_dictname='STD_LRGCLS_"+str+"'"
}
});
}
},
allowBlank : false
}, {
xtype : 'combo',
fieldLabel : '<span style ="color:red"> *</span>标准大类',
anchor : '80%',
id : "std_lrgcls",
name : 'std_lrgcls',
triggerAction : 'all',
forceSelection : true,
mode : 'local',
blankText : '标准大类不能为空',
emptyText : '请选择',
valueField : 'dd_id',
displayField : 'dd_text',
store : stdLrgclsStore,
listeners : {
select : function(combo, record, index) {
// 标准子类
Ext.getCmp("std_subcls").setValue("");
Ext.getCmp("lv3_cls").setValue("");
var std_topc=Ext.getCmp("std_topc").getValue();
var std_lrgcls=Ext.getCmp("std_lrgcls").getValue();
stdSubclsStore.load({
start : 0,
limit : 100,
params : {
'tableName' : 'sys_datadictionary',
'columnValue' : 'dd_id',
'columnDisplay' : 'dd_text',
'condition' : "dd_dictname='STD_SUBCLS_"+std_topc+"_"+std_lrgcls+"'"
}
});
}
},
allowBlank : false
}, {
xtype : 'combo',
fieldLabel : '<span style ="color:red"> *</span>标准子类',
anchor : '80%',
id : "std_subcls",
name : 'std_subcls',
triggerAction : 'all',
forceSelection : true,
mode : 'local',
blankText : '标准子类不能为空',
emptyText : '请选择',
valueField : 'dd_id',
displayField : 'dd_text',
store : stdSubclsStore,
listeners : {
select : function(combo, record, index) {
// 三级分类
Ext.getCmp("lv3_cls").setValue("");
var std_topc=Ext.getCmp("std_topc").getValue();
var std_lrgcls=Ext.getCmp("std_lrgcls").getValue();
var std_subcls=Ext.getCmp("std_subcls").getValue();
stdLv3clsStore.load({
start : 0,
limit : 100,
params : {
'tableName' : 'sys_datadictionary',
'columnValue' : 'dd_id',
'columnDisplay' : 'dd_text',
'condition' : "dd_dictname='LV3_CLS_"+std_topc+"_"+std_lrgcls+"_"+std_subcls+"'"
}
});
}
},
allowBlank : false
}, {
xtype : 'combo',
fieldLabel : '<span style ="color:red"> *</span>三级分类',
anchor : '80%',
id : "lv3_cls",
name : 'lv3_cls',
triggerAction : 'all',
forceSelection : true,
mode : 'local',
blankText : '三级分类不能为空',
emptyText : '请选择',
valueField : 'dd_id',
displayField : 'dd_text',
store : stdLv3clsStore,
allowBlank : false
})]
//级联菜单 标准主题store
var stdTopcStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '../../../extjs.do?action=getSelectAction'
}),
reader : new Ext.data.JsonReader({
root : 'root',
id : 'dd_id'
}, [{
name : 'dd_id'
}, {
name : 'dd_text'
}])
});
stdTopcStore.load({
start : 0,
limit : 100,
params : {
'tableName' : 'sys_datadictionary',
'columnValue' : 'dd_id',
'columnDisplay' : 'dd_text',
'condition' : "dd_dictname='STD_TOPC' "
}
});
//级联菜单 标准大类store
var stdLrgclsStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '../../../extjs.do?action=getSelectAction'
}),
reader : new Ext.data.JsonReader({
root : 'root',
id : 'dd_id'
}, [{
name : 'dd_id'
}, {
name : 'dd_text'
}])
});
//级联菜单 标准子类store
var stdSubclsStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '../../../extjs.do?action=getSelectAction'
}),
reader : new Ext.data.JsonReader({
root : 'root',
id : 'dd_id'
}, [{
name : 'dd_id'
}, {
name : 'dd_text'
}])
});
//级联菜单 三级分类store
var stdLv3clsStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '../../../extjs.do?action=getSelectAction'
}),
reader : new Ext.data.JsonReader({
root : 'root',
id : 'dd_id'
}, [{
name : 'dd_id'
}, {
name : 'dd_text'
}])
});