目标:通过选择页面不同的radio,动态更新combobox里面的下了表单的内容。

最终效果:

1.没有选择前:

2.选择列表2后

具体代码实现:

01 Ext.require('Ext.*');
02 Ext.onReady(function(){
03     //1.实体M
04     Ext.define('State',{
05         extend : 'Ext.data.Model',
06         fields   : [
07                     {type:'int',name:'id'},
08                     {type:'string',name:'cname'}
09         ]
10     });
11     //内存中的数据D
12     var localData1 = [
13             {'id':1,'cname':'广东省'},
14             {'id':2,'cname':'湖北省'},
15             {'id':3,'cname':'湖南省'},
16             {'id':4,'cname':'海南省'},
17             {'id':5,'cname':'青海省'}
18      ];
19      
20     //2.定义store,这里区分是内存中的还是远程服务器的
21     //2.1 内存中的
22     var localStore = Ext.create('Ext.data.Store',{
23         model:State,
24         data : localData1
25     });
26      
27     //定义radioGroup
28     var raidos = Ext.create('Ext.form.RadioGroup',{
29         itemId:'raidos',
30         id :'raidos',
31         name :'raidos',
32         fieldLabel: '选择进行改变',
33         columns: 2,
34         vertical: true,
35         items: [
36             { boxLabel: '列表1', name: 'rb', inputValue: '1',checked: true},
37             { boxLabel: '列表2', name: 'rb', inputValue: '2',listeners:{change:onChangeRadio} }
38         ]
39     });
40      
41     //定义combo
42     var localCombo = Ext.create('Ext.form.field.ComboBox',{
43         itemId:'local-combo',
44         id :'local-combo',
45         name :'local-combo',
46         fieldLabel :'请选择省',
47         displayField:'cname',
48         valueField:'id',
49         store:localStore,
50         queryMode:'local',
51         forceSelection: true,
52         allowBlank:false,
53         editable: true,
54         emptyText:'请选择省',
55         blankText : '请选择省'
56     });
57      
58     //定义显示的容器
59     var dataPanel = Ext.create('Ext.panel.Panel',{
60         renderTo : document.body,
61         width : 400,
62         height :300,
63         title : 'Combo box 的简单使用,这里分别用基于内存和基于服务器的实现',
64         plain :true,
65         margin:'30 10 0 80',
66         bodyStyle: "padding: 45px 15px 15px 15px;",
67         defaults :{
68             autoScroll: true,
69             bodyPadding: 10
70         },
71         items:[
72                raidos,
73                localCombo
74         ]
75     });
76      
77     //事件监听
78     function onChangeRadio(field,value,oldValue){
79         if(value){
80             localCombo.store.removeAt(4);
81         }else{
82             localCombo.store.insert(4,[{'id':5,'cname':'青海省'}]);
83         }
84     }
85 });

Extjs 的代码比较长,关键在事件监听上面:

1 { boxLabel: '列表1', name: 'rb', inputValue: '1',checked: true},
2  { boxLabel: '列表2', name: 'rb', inputValue: '2',listeners:{change:onChangeRadio}

这里的事件监听不能放在默认选中的radio上面,否则这边事件监听的时候,虽然你对store进行了删除元素的操作,当时实际上,第一次点击的时候,这个功能是不能生效的。具体的原因还在查。

1 function onChangeRadio(field,value,oldValue){
2     if(value){
3         localCombo.store.removeAt(4);
4     }else{
5         localCombo.store.insert(4,[{'id':5,'cname':'青海省'}]);
6     }
7 }
view source print ?
1 事件监听这里比较简单,当radio选中的时候,这里的值就是true,进行相应的操作即可。

Extjs4 动态更改Store里面的内容相关推荐

  1. iOS - 让APP动态更改icon

    话不多说,直接进主题,注意几点. 1. 首先我们要知道更改APP的icon, 需要添加Info.plist 中的 Icon files (iOS 5) -> CFBundleAlternateI ...

  2. Openlayers中使用Overlay实现点击要素显示html内容弹窗并且动态更改弹窗内容

    场景 Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动: Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动_BADAO_LIUMANG_QIZHI的博客 ...

  3. php 改变页面元素,动态更改网页HTML元素(对象)内容_经验交流

    动态HTML的出现为用户提供了一种基于传统标准HTML来创建交互式页面的机制.本文主要针对IE 5.0谈谈如何通过其提供的HTML文档对象(DOM)模型使用脚本添加.删除.修改页面中的HTML元素(对 ...

  4. 比iPhone8更重要的新App Store,给内容产品的未来指出明路

    App Store 历史上最大的更新马上要来了,它将完全改变开发者奉行多年的推广运营方式,但它更深远的影响,在于启示别的内容平台怎么做内容. 是iPhone 8.iPhone 8 Plus 还是 iP ...

  5. html表单中动态添加下拉框,antd Select下拉菜单动态添加option里的内容操作

    antd Select下拉菜单动态添加option里的内容,通过form表单绑定select选中的值 提供一个公共的方法,每次只需去调用这个方法就行了 //这里是示例数据格式 let giftScop ...

  6. Android动态更改TextView的字体大小

    需求: 需要动态更改TextView内容字体的大小,比如设定TextView只有一行,宽度只有200dp,内容超过这个之后就缩小字体显示,只能能将字体都显示完全:也就是动态更改TextView的字体大 ...

  7. Vue实现滚动吸顶,文案动态更改

    Vue实现滚动吸顶,文案动态更改 1.效果和代码如下 <template><div class="record"><div class="c ...

  8. android 日历动态图标,android – 有没有办法动态更改日历应用程序的应用程序图标呢?...

    无论您的主屏幕是什么,都有特殊的挂钩,无论您的日历应用程序是什么,无论您的闹钟应用程序是什么.通常,应用无法更新其图标. What do you mean by hooks? 例如,三星可以在三星设备 ...

  9. Vivado Fir Ip核动态更改滤波器系数的两种方法

    有时在设计过程中,可能需要不同的滤波效果,如果采样率一样的情况下,我们有两种方式进行切换系数. 第一种就是真正意义上的动态切换,如下图: 这种方式适合真正意义上的系数从新加载,但是配置相对复杂,但是省 ...

最新文章

  1. maven生命周期理解
  2. R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告、knitr常用参数
  3. 戴森要搞能爬楼梯的吸尘器,两项专利设计现已提交
  4. python中两个矩阵之间的点乘_Python基础--数据分析库--Numpy
  5. Esay ui数据加载等待提示
  6. 【半译】扩展shutdown超时设置以保证IHostedService正常关闭
  7. 【图论】【斜率优化】前往大都会(loj 2769)
  8. 在ASP.NET Core 2.0中创建Web API
  9. 一道『easy』等级的力扣题,我写了两个小时的笔记...
  10. 物体检测中的mAP含义
  11. linux 文件查找_Linux中的文件内查找小技巧
  12. NP-Hard问题浅谈
  13. 推荐3个好用的Excel项目管理甘特图模板
  14. 【C#】打印机ZPL指令,打印文本,中文,条码,图片
  15. 新疆计算机操作题,新疆维吾尔自治区教师计算机操作题复习8套.pdf
  16. S700K五机牵引转辙设备简介组成及道岔转换设备故障分析【铁路信号技术专栏】—转载自微信公众号铁路信号技术交流
  17. 广交投集团领导莅临星舆科技参观交流
  18. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 626期】
  19. 用 vue-cli 手脚架 建立一个 webpack 模板 vue 项目
  20. 韩顺平Java自学笔记 项目 QQ聊天室

热门文章

  1. 命令行执行python文件_命的解释|命的意思|汉典“命”字的基本解释
  2. sql查询结果转化为JSON数据格式
  3. linux cat命令详解,作用,说明
  4. 主动学习简单教程及代码示例
  5. 二十八、路由算法和路由协议
  6. 性能分析——dmesg
  7. 二维海浪波数谱的matlab,常见海浪谱
  8. java基础巩固-宇宙第一AiYWM:为了维持生计,Redis基础Part6(Redis的应用场景、Redis是单线程的速度还快、Redis线程模型:Reactor模式、事件、发布订阅、管道)~整起
  9. centos7上用nginx安装nextcloud(PHP72)
  10. uni-app 微信小程序 手机号授权