写两个数据源:

1.IM_ST_Module.js

{
success:true,
data:[
{ ModuleId: '1', ModuleName: '资讯' }
, { ModuleId: '2', ModuleName: '交流' }
, { ModuleId: '3', ModuleName: '图集' }
, { ModuleId: '4', ModuleName: '商品' }
]
}

2.IM_ST_Module_subl.js

{
success:true,
data: [
{ ModuleId_sub: '01', ModuleName_sub: '新闻',ModuleId:'1' }
, { ModuleId_sub: '02', ModuleName_sub: '文章',ModuleId:'1' }
, { ModuleId_sub: '03', ModuleName_sub: '娱乐',ModuleId:'1' }
, { ModuleId_sub: '04', ModuleName_sub: '下载',ModuleId:'1' }
, { ModuleId_sub: '11', ModuleName_sub: '交流01',ModuleId:'2' }
, { ModuleId_sub: '12', ModuleName_sub: '交流02',ModuleId:'2' }
, { ModuleId_sub: '13', ModuleName_sub: '交流03',ModuleId:'2' }
, { ModuleId_sub: '14', ModuleName_sub: '交流05',ModuleId:'2' }
, { ModuleId_sub: '21', ModuleName_sub: '图集21',ModuleId:'3' }
, { ModuleId_sub: '22', ModuleName_sub: '图集22',ModuleId:'3' }
, { ModuleId_sub: '23', ModuleName_sub: '图集23',ModuleId:'3' }
, { ModuleId_sub: '24', ModuleName_sub: '图集24',ModuleId:'3' }
, { ModuleId_sub: '25', ModuleName_sub: '图集25',ModuleId:'3' }
, { ModuleId_sub: '26', ModuleName_sub: '图集26',ModuleId:'3' }
, { ModuleId_sub: '31', ModuleName_sub: '商品31',ModuleId:'4' }
, { ModuleId_sub: '32', ModuleName_sub: '商品32',ModuleId:'4' }
, { ModuleId_sub: '33', ModuleName_sub: '商品33',ModuleId:'4' }
]
}

页面JS代码:

1.定义模型、 store

//下拉框模块数据开始
Ext.define("ModuleModel", {
extend: "Ext.data.Model",
fields:
[{ name: "ModuleId", type: "string" },
{ name: "ModuleName", type: "string" },
{ name: "ModuleId_sub", type: "string" },
{ name: "ModuleName_sub", type: "string" }]
}); var comboData_Module = Ext.create("Ext.data.Store", {
model: "ModuleModel",
autoLoad: true,
proxy: {
type: "ajax",
url: "/UI/Js/InformationManagement_Extjs4.2/Data/IM_ST_Module.js",
reader: {
type: "json",
root: "data"
}
}
}); var comboData_Module_sub = Ext.create("Ext.data.Store", {
model: "ModuleModel",
proxy: {
type: "ajax",
url: "/UI/Js/InformationManagement_Extjs4.2/Data/IM_ST_Module_subl.js",
reader: {
type: "json",
root: "data"
}
}
});
//下拉框模块数据结束

2.控件:combo

    {
xtype: "fieldcontainer",
layout: "hbox",
items: [
{
xtype: 'combo',
name: 'ModuleId', allowBlank: false,
fieldLabel: '来自模块', width: 300,
store: comboData_Module,
emptyText: '选择模块...',
valueField: "ModuleId",
displayField: "ModuleName",
mode: 'local',//local
editable: false,
triggerAction: 'all',
allowBlank: false,
autoload: true,
listeners: {
change: function (field, newValue, oldValue, op) {
//当下拉框选择改变的时候,也就是原值不等于新值时
if (newValue != oldValue) {
//清空原来的下拉框
form_Step3_1_left.form.findField('ModuleIdsub').clearValue();
//过滤数据源
comboData_Module_sub.clearFilter();
comboData_Module_sub.filterBy(function (item) {
return item.get("ModuleId") == newValue;
});
//绑定数据源
form_Step3_1_left.form.findField('ModuleIdsub').bindStore(comboData_Module_sub);
}
}
}
},
{
xtype: 'combo',
name: 'ModuleIdsub', allowBlank: false,
fieldLabel: '', width: 200,
store: comboData_Module_sub,
emptyText: '选择子模块...',
valueField: "ModuleId_sub",
displayField: "ModuleName_sub",
mode: 'local',//local
editable: false,
triggerAction: 'all',
allowBlank: false
}
]
}

相关链接:http://www.cnblogs.com/mayantao/p/extjs4.html

EXTJS 4.2 资料 控件之combo 联动的更多相关文章

  1. EXTJS 3.0 资料 控件之 combo 用法

    EXTJS combo 控件: 1.先定义store //年款 var comboData_ReleasYear = [ ['], ['], ['], ['] ]; 2.定义combo控件 { lay ...

  2. EXTJS 3.0 资料 控件之 html 潜入label用法

    这是在Extjs 中插入html 控件label! html: "<div><label id='howMany'>您共选中了</label><br ...

  3. EXTJS 4.2 资料 控件textfield中fieldLabel去掉冒号,控件label的长度

    代码: labelSeparator: '', // 去掉laebl中的冒号 labelWidth: 10,//控件label的长度

  4. EXTJS 4.2 资料 控件之Grid 那些事

    最近在学习Extjs4.2 ,积累文章,看得不错,再此留年: //表格数据最起码有列.数据.转换原始数据这3项 Ext.onReady(function(){ //定义列 var columns = ...

  5. EXTJS 4.2 资料 控件之Grid 行编辑绑定下拉框,并点一次触发一次事件

    主要代码: { header: '属性值', dataIndex: 'PropertyValueName', width: 130, editor: new Ext.form.field.ComboB ...

  6. EXTJS 4.2 资料 控件之Window窗体自动填充页面

    1.html页面代码: <div id="component" style="width:100%;height:100%"> <body&g ...

  7. EXTJS 4.2 资料 控件之Grid Columns 列renderer 绑定事件

    columns: [ { header: '序号', xtype: 'rownumberer', align: 'center', width: 100 }, { header: 'CompanyId ...

  8. EXTJS 4.2 资料 控件之checkboxgroup的用法(动态数据)

    在开发中遇到两种情况:第一在新增窗体时,要动态加载CheckBox项:第二在修改时不但需要加载所有CheckBox项,还要并且选中之前新增时的选项 如图这是在修改页面的效果: 1.在新增窗体中动态加载 ...

  9. EXTJS 4.2 资料 控件之radiogroup 的用法

    最近在EXTJS4.2开发项目,radiogroup的用法,主要是和grid之间的编辑功能:看了好多资料都不对,特此在这里备注记录 代码如下, 1.这是一段Win窗体上的两个单选按钮,设置单选按钮都是 ...

随机推荐

  1. Objective-C ,ios,iphone开发基础:几个常用类-NSString

    第一个字符串: //必须在字符串的前面加上@符号, NSString* str=@"shouqiang_Wei";//输出以%@输出. NSLog(@"%@", ...

  2. ceph运维命令合集

    一.集群 1.启动一个ceph进程 启动mon进程 [root@ceph-adm ~]#203.109 service ceph start mon.ceph-mon1 启动msd进程 [root@c ...

  3. Weblogic 10.3.6 在RHEL5.4 下安装

    一WebLogic简介 webserver是用来构建网站的必要软件.可用来解析.发布网页等功能,它是用纯java开发的.weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展.B ...

  4. 给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器

    今天的主角是HashSet,Set是什么东东,当然也是一种java容器了.      现在再看到Hash心底里有没有会心一笑呢,这里不再赘述hash的概念原理等一大堆东西了(不懂得需要先回去看下Has ...

  5. yii2.0的gii生成代码bug

    自动生成代码真的很好用,能减少很多基础代码的编写,如果这些基础代码一个个手动去敲,即枯燥乏味,还容易出错(话说人类真的不适合做单调重复的工作),yii框架的gii自动生成代码工具就能减少很多工作量.前 ...

  6. [改善Java代码]在equals中使用getClass进行类型判断

    建议47: 在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题.这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JEE中J ...

  7. poj 2373 单调队列优化背包

    思路:我们用单调队列保存2*b<=i-j<=2*a中的最大值.那么队列头就是最大值,如果队头的标号小于i-2*b的话,就出队,后面的肯定用不到它了. #include<iostrea ...

  8. 【转】创业C2C(Copy To China):停车位共享APP,用户、市政能够买账?

    如果周六中午想开车到旧金山的Mission吃顿早午餐,笔者劝您还是省省吧.因为不光是到了吃饭的地儿排队得耗上一个小时,就是满大街的兜圈子找停车位都能折腾死人.那个时候您或许就明白了,其实最苦的并不是买 ...

  9. shell脚本字符串截取的8种方法

    假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*/ ...

  10. 如何查看JDK是64bit还是32bit

    在eclipse或MyEclipse中创建一个Java Project并运行如下代码: public class Test { public static void main(String[] arg ...