项目需求:有两个下拉列表A和B。当你点击A列表里的一个值时,再点击B列表里面对应的值。也就是说,B列表的值是由A列表里的某个值决定的。B列表的值随A列表的值的不同而不同。由于使用了Ext作为表现层,所以不可避免的使用到了ComboBox。
解决思路:点击A列表,从后台加载一条JSON格式的数据,然后在A列表里显示。当点击A列表里的某个值时,触发一个C事件。C事件将重新设置B列表,同时B列表从后台请求一条JSON格式的数据,同时B列表又加载新的数据源。
好了,有了解决思路那就开始写代码吧。
1、首先,我们定义一个groupDS和一个groupCombo。
var groupDS = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'getGroupsByUser.action'
}),
reader : new Ext.data.JsonReader({
root : 'rows',
totalProperty : 'total',
id : 'groupId',
fields : ['groupId', 'groupName']
})
});
groupDS.load();
var groupCombo = new Ext.form.ComboBox({
// store: store,
store : groupDS,
fieldLabel : '分组',
displayField : 'groupName',
mode : 'local',
emptyText : '请选择一个分组',
valueField : 'groupId',
hiddenName : 'groupId',
anchor : '100%'
});
2、定义一个typeReader,一个typeDS和typeCombo。
var typeReader = new Ext.data.JsonReader({
id : 'typeId',
root : 'rows',
totalProperty : 'total',
fields : ['typeId', 'typeName', 'isIncome']
});
var typeDS = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'getTypesByUser.action'
}),
reader : typeReader
});
var typeCombo = new Ext.form.ComboBox({
fieldLabel : '类型',
store : typeDS,
emptyText : '请选择一个类型',
allowBlank : false,
loadingText : 'searching...',
displayField : 'typeName',
mode : 'local',
editable : true,
valueField : 'typeId',
hiddenName : 'typeId',
anchor : '100%',
triggerAction : 'all'
});
3、然后再定义一个选择事件。
groupCombo.on('select', function() {
typeCombo.reset();
typeDS.proxy = new Ext.data.HttpProxy({
url : 'getTypesByUser.action?groupId='
+ groupCombo.getValue()
});
typeDS.load();
});
好了,现在我们就完成了这个二级联动的小应用。同理,三级联动同样可以通过这种方式来实现。
分享到:
相关推荐
在"Ext二级联动完整例子"项目中,我们可以预见到以下关键知识点: 1. **ExtJS组件**:主要涉及`Ext.form.field.ComboBox`,它是实现联动效果的核心组件。ComboBox提供了一个可搜索、可下拉选择的输入框,支持配置...
ext,ext combobox,ext二级联动,ext combobox二级联动 ___本人的原则:上传好东西,但绝不便宜.因为自己的心血 ext combobox二级联动,ext ,ext combobox,combobox,combobox二级联动,ext 二级联动 groupCombo.on('...
下面我们将详细讨论如何在ExtJS中实现Combobox的二级联动。 一、基础概念 1. Combobox:ExtJS中的Combobox是FormPanel的一个字段,它结合了文本输入框和下拉列表,提供了一种选择或输入数据的方式。 2. 二级联动:...
在Web应用程序中,我们经常需要实现二级联动效果,即一个ComboBox的选择会影响另一个ComboBox的显示内容。这在数据关联和筛选场景中尤为常见,例如省份和城市的关联选择。本文将深入探讨如何在ExtJS中实现ComboBox的...
下拉框三级联动是指在用户选择第一级下拉框选项时,第二级下拉框根据第一级的选择动态更新显示内容;同理,第三级下拉框也会根据第二级的选择进行相应的更新。这种设计可以极大地简化用户在选择多级分类数据时的操作...
在开发Web应用时,我们经常需要实现交互性强的用户界面,比如二级联动菜单。这种功能在JSP(Java Server Pages)中可以通过与数据库交互来动态填充下拉框,并结合JavaScript和Ajax技术实现。本文将详细讲解如何使用...
在本案例中,“用Ext 2_0 combobox 做的省份和城市联动选择框”是一种交互式UI设计,常用于地理信息的选择,例如用户先选择省份,然后根据所选省份动态加载对应的城市选项。 Ext 2.0的Combobox组件主要包含以下几个...
本文将深入探讨如何使用ExtJS 3结合MySQL来实现一个省份城市二级联动的前端与后台系统。 首先,ExtJS 3提供了丰富的组件和API,使得开发者可以轻松创建各种复杂的用户界面,如下拉菜单、表格、表单等。在这个案例中...
此外,还会了解到EXT JS中的模型(Model)、存储(Store)和视图(View)的联动机制,这些是EXT JS组件化开发的基础。 总之,`ext tree grid`的高级实例运用展示了EXT JS的强大之处,它能够轻松地处理复杂的数据...
二、EXT Grid EXT Grid是一种灵活的数据显示组件,可用来展示大量结构化数据。它支持行和列的排序、分页、过滤、编辑等功能,且能与后台数据库无缝对接。`Ext.Grid详解.docx`可能会深入探讨EXT Grid的配置选项,如...
代码如下:// 第一个下拉框 var parentStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: ‘loadByParentid.action?parentid=1001’ }), reader: ... // 第二个下拉框 var childStore = new Ext.data
### Extjs4---combobox省市区三级联动+struts2 #### 一、技术背景与原理 本案例涉及的关键技术主要包括Extjs4框架中的`combobox`组件以及Struts2框架,通过这两种技术实现了省市区三级联动的效果。下面将详细介绍...
级联下拉框意味着一个下拉框的选项取决于另一个下拉框的选择,这种联动效果常见于地理信息选择、部门与员工选择等场景,为用户提供了一种便捷的多级选择方式。 在Ext JS中,ComboBox提供了级联数据加载的功能,这...
在一级、二级、三级联动下拉框中,选择一个选项将影响下一个下拉框的显示内容,提供了一种层次清晰的导航方式。在ExtJS中,这通常通过组合框(ComboBox)组件和数据存储(Store)配合实现。每个级别的下拉框都有自己...
-增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用...
6. **强大的表单组件**:提供多种表单控件,支持验证、自定义布局和联动效果。 7. **触摸事件支持**:优化了触摸事件处理,提高了在移动设备上的交互体验。 二、引用ExtJS 5.1 1. **引入CSS和JavaScript**:首先,...
# demoWeb 一个基于SpringMVC的web框架 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径...Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper doc内有相关文档
# demoWeb 一个基于SpringMVC的web框架 1.0.5 ...Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper 1.1.12 使用draft富文本编辑器 增加ant design 代码生成器功能增强
# demoWeb 一个基于SpringMVC的web框架 1.0.5 ...Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper 1.1.12 使用draft富文本编辑器 增加ant design 代码生成器功能增强
同时,对于希望定制或二次开发OA系统的公司来说,拥有源码意味着可以根据实际需求进行灵活调整,满足特定业务场景。 通过分析压缩包中的文件,如【新建文件夹(1)】和【国讯通用OA协同办公系统源码】,可以进一步...