ExtJS:菜单ComboBox及级联菜单应用
首页一级菜单查询分组,二级菜单查询分组中的车辆信息。
定义分组数据模型:
Ext.define(
'group',
{
extend:'Ext.data.Model',
fields:[
{name:'groupid',mapping:'groupid',type:'int'},
{name:'groupname',mapping:'groupname',type:'string'}
]
}
);
定义分组groupStore:
var groupStore = Ext.create('Ext.data.Store', {
model:'group',
proxy : {
type:'ajax',
url : 'group/getgroup' ,//请求url
reader : ({
type:'json',
totalProperty: "totalAllGroup", //totalRecords属性由json.results得到
successProperty: true, //json数据中,保存是否返回成功的属性名
root: 'dataOfAllGroup' , //构造元数据的数组由json.rows得到
//idProperty : "id"
}),
autoLoad:true,
remoteSort:true
}});
groupStore.load();//加载数据
定义分组ComboBox
var groupCombo = Ext.create('Ext.form.ComboBox', {
id : 'group',
fieldLabel : '所属部门',
labelSeparator : ':',
labelWidth: 80,
triggerAction : 'all',
store : groupStore,
displayField : 'groupname',
valueField : 'groupid',
loadingText : '正在加载数据...',
queryMode : 'local',
forceSelection : true,
value: '',
typeAhead : true,
width: 240,
allowBlank:false,
margin: '3 5 3 10',
emptyText : '请选择所属部门',
listeners:{ //用于二级菜单,若是单菜单可注释掉该监听事件
select : function(combo, record,index){
Ext.getCmp('device').clearValue();//上级combo在select事件中清除下级的value
Ext.getCmp('device').getStore().load({
url: 'device/getdevice/' + combo.value,
});
}
}
});
以上是单菜单的代码,添加二级菜单,参考下面:
定义车辆数据模型:
Ext.define(
'model',
{
extend:'Ext.data.Model',
fields:[
{name:'id',mapping:'id',type:'int'},
{name:'carno',mapping:'carno',type:'string'}
]
}
);
定义车辆deviceStore:
var deviceStore = Ext.create('Ext.data.Store', {
model:'model',
proxy : {
type:'ajax',
url : 'device/getdevice' ,
reader : ({
type:'json',
totalProperty: "totalAllDevice", //totalRecords属性由json.results得到
successProperty: true, //json数据中,保存是否返回成功的属性名
root: 'dataOfAllDevice' , //构造元数据的数组由json.rows得到
//idProperty : "id"
}),
}});
定义车辆ComboBox
var deviceCombo = Ext.create('Ext.form.ComboBox', {
id : 'device',
fieldLabel : '车牌号',
labelSeparator : ':',
labelWidth: 80,
triggerAction : 'all',
store : deviceStore,
displayField : 'carno',
valueField : 'carno',
loadingText : '正在加载数据...',
queryMode : 'local',
forceSelection : true,
value: '',
typeAhead : true,
width: 240,
allowBlank:false,
margin: '3 5 3 10',
emptyText : '请选择查询的车辆'
});
重点在于:queryMode : 'local',如果不选择从本地获取数据源,则会重新去远程remote获取。
ExtJS:菜单ComboBox及级联菜单应用的更多相关文章
- JS实战 · 级联菜单选择省份和城市(两种)
DOM编程步骤.思路 1.定义界面: 通过html标签将数据进行封装: 2.定义一些静态样式: 利用css: 3.需要动态地完成的和用户的交互: a:明确事件源: ...
- ExtJs 之 ComboBox级联使用
刚接触ExtJs不到一周,项目使用ExtJs框架,有个版块用到了combobox的级联(两级),遇到了一系列的问题,两天来一直查API.网络资料,终于解决了. 先列出遇到的一系列问题(也许你也遇到过! ...
- JS动态级联菜单
JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...
- 前台JS(Jquery)调用后台方法 无刷新级联菜单示例
前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 http://www.dtan.so CasMenu.aspx页 ...
- 使用json方式实现省市两级下拉级联菜单[原创]
本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...
- Ajax实现动态的二级级联菜单
今天花了点时间用Ajax实现了一个二级级联菜单.整理总结一下.为了把重点放在Ajax和级联菜单的实现上,本文省略了数据库建表语句和操作数据库的代码! 数据库建表语句就不帖出来了.主要有两张表,区域表: ...
- extjs desktop startmenu (開始菜单)
extjs desktop 的開始菜单 二级菜单,仅仅是简单演示实现原理,如 须要动态生成,自己改造就可以,下面基本方法原理: 首先 建立一个js文件 生成開始菜单数据: function Get ...
- [python] 初学python,级联菜单输出
#Author:shijt china_map = { "河北": { '石家庄': ['辛集', '正定', '晋州'], '邯郸': ['涉县', '魏县', '磁县'], ' ...
- javascript实现select菜单/级联菜单(用Rails.ajax实现发送请求,接收响应)
在购物网站,填写收货地址的时候,会出现XX省XX市XX区的下拉菜单,如何实现此功能?思路是什么? 功能设置: 当选择省select菜单后,市的select菜单为这个省的城市列. 当选择市菜单后,区菜单 ...
随机推荐
- SuperVideo,一款直播,点播,投屏并有的app
应用名称:SuperVideo应用简介: 1.聚合海量视频,视频源来源于搜狐,乐视,优酷, 腾讯等主流视频网站的丰富视频内容,最新院线大片,热播剧随时看 2.基于百度云解码,享受云解码支持RMVB,M ...
- Linux动态频率调节系统CPUFreq之一:概述
随着技术的发展,我们对CPU的处理能力提出了越来越高的需求,芯片厂家也对制造工艺不断地提升.现在的主流PC处理器的主频已经在3GHz左右,就算是智能手机的处理器也已经可以工作在1.5GHz以上,可是我 ...
- 如何将dtb反编译成dts
点击打开链接 由于device tree会将一个node的信息分布在各个文件里,查看起来很不方便,比如如下例子,ldb在三个文件中都有配置: imx6qdl-sabresd.dtsi: [plain] ...
- 【Netty源码学习】ServerBootStrap
上一篇博客[Netty源码学习]BootStrap中我们介绍了客户端使用的启动服务,接下来我们介绍一下服务端使用的启动服务. 总体来说ServerBootStrap有两个主要功能: (1)调用父类Ab ...
- 6、Android Content Provider测试
如果你的应用中使用了Content Provider来与其他应用进行数据交互,你需要对Content Provider进行测试来确保正常工作. 创建Content Provider整合测试 在Andr ...
- app如何更换用户头像信息呢?不妨这样做
对于现在的手机应用而言,要想获得更多的人的使用,就需要给用户更多的自由功能才行,这也是基于用户体验开发软件的核心思想,一切以用户为中心,想用户之所想,做用户之所需.今天我就来谈一谈刚学到的一个关于设置 ...
- 百度地图隐藏缩放控件比例尺Logo
对于百度地图最新版V3.7.3,以前的隐藏控件方法失效,可用以下方法隐藏: 1.隐藏缩放控件: mMapView.showZoomControls(false); 2.隐藏比例尺: mMapView. ...
- J2EE进阶(七)利用SSH框架根据数据表建立model类
J2EE进阶(七)利用SSH框架根据数据表建立model类 前言 在利用SSH框架进行项目开发时,若将数据库已经建好,并且数据表之间的依赖关系已经确定,可以利用Hibernate的反转功能进行mode ...
- FFmpeg API 变更记录
最近一两年内FFmpeg项目发展的速度很快,本来是一件好事.但是随之而来的问题就是其API(接口函数)一直在发生变动.这么一来基于旧一点版本的FFmpeg的程序的代码在最新的类库上可能就跑不通了. 例 ...
- mac 下终端 操作svn命令 以及出现证书错误的处理方法
首先,转载地址:http://hi.baidu.com/zhu410289616/item/eaaf160f60eb0dc62f4c6b0e 还有一个地址:http://www.cnblogs.com ...