EXTJS 4.2 资料 控件之combo 联动

写两个数据源:
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 联动的更多相关文章
- EXTJS 3.0 资料 控件之 combo 用法
EXTJS combo 控件: 1.先定义store //年款 var comboData_ReleasYear = [ ['], ['], ['], ['] ]; 2.定义combo控件 { lay ...
- EXTJS 3.0 资料 控件之 html 潜入label用法
这是在Extjs 中插入html 控件label! html: "<div><label id='howMany'>您共选中了</label><br ...
- EXTJS 4.2 资料 控件textfield中fieldLabel去掉冒号,控件label的长度
代码: labelSeparator: '', // 去掉laebl中的冒号 labelWidth: 10,//控件label的长度
- EXTJS 4.2 资料 控件之Grid 那些事
最近在学习Extjs4.2 ,积累文章,看得不错,再此留年: //表格数据最起码有列.数据.转换原始数据这3项 Ext.onReady(function(){ //定义列 var columns = ...
- EXTJS 4.2 资料 控件之Grid 行编辑绑定下拉框,并点一次触发一次事件
主要代码: { header: '属性值', dataIndex: 'PropertyValueName', width: 130, editor: new Ext.form.field.ComboB ...
- EXTJS 4.2 资料 控件之Window窗体自动填充页面
1.html页面代码: <div id="component" style="width:100%;height:100%"> <body&g ...
- EXTJS 4.2 资料 控件之Grid Columns 列renderer 绑定事件
columns: [ { header: '序号', xtype: 'rownumberer', align: 'center', width: 100 }, { header: 'CompanyId ...
- EXTJS 4.2 资料 控件之checkboxgroup的用法(动态数据)
在开发中遇到两种情况:第一在新增窗体时,要动态加载CheckBox项:第二在修改时不但需要加载所有CheckBox项,还要并且选中之前新增时的选项 如图这是在修改页面的效果: 1.在新增窗体中动态加载 ...
- EXTJS 4.2 资料 控件之radiogroup 的用法
最近在EXTJS4.2开发项目,radiogroup的用法,主要是和grid之间的编辑功能:看了好多资料都不对,特此在这里备注记录 代码如下, 1.这是一段Win窗体上的两个单选按钮,设置单选按钮都是 ...
随机推荐
- Objective-C ,ios,iphone开发基础:几个常用类-NSString
第一个字符串: //必须在字符串的前面加上@符号, NSString* str=@"shouqiang_Wei";//输出以%@输出. NSLog(@"%@", ...
- ceph运维命令合集
一.集群 1.启动一个ceph进程 启动mon进程 [root@ceph-adm ~]#203.109 service ceph start mon.ceph-mon1 启动msd进程 [root@c ...
- Weblogic 10.3.6 在RHEL5.4 下安装
一WebLogic简介 webserver是用来构建网站的必要软件.可用来解析.发布网页等功能,它是用纯java开发的.weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展.B ...
- 给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器
今天的主角是HashSet,Set是什么东东,当然也是一种java容器了. 现在再看到Hash心底里有没有会心一笑呢,这里不再赘述hash的概念原理等一大堆东西了(不懂得需要先回去看下Has ...
- yii2.0的gii生成代码bug
自动生成代码真的很好用,能减少很多基础代码的编写,如果这些基础代码一个个手动去敲,即枯燥乏味,还容易出错(话说人类真的不适合做单调重复的工作),yii框架的gii自动生成代码工具就能减少很多工作量.前 ...
- [改善Java代码]在equals中使用getClass进行类型判断
建议47: 在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题.这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JEE中J ...
- poj 2373 单调队列优化背包
思路:我们用单调队列保存2*b<=i-j<=2*a中的最大值.那么队列头就是最大值,如果队头的标号小于i-2*b的话,就出队,后面的肯定用不到它了. #include<iostrea ...
- 【转】创业C2C(Copy To China):停车位共享APP,用户、市政能够买账?
如果周六中午想开车到旧金山的Mission吃顿早午餐,笔者劝您还是省省吧.因为不光是到了吃饭的地儿排队得耗上一个小时,就是满大街的兜圈子找停车位都能折腾死人.那个时候您或许就明白了,其实最苦的并不是买 ...
- shell脚本字符串截取的8种方法
假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*/ ...
- 如何查看JDK是64bit还是32bit
在eclipse或MyEclipse中创建一个Java Project并运行如下代码: public class Test { public static void main(String[] arg ...