ExtJS设置ComboBox级联菜单默认值教程
150 浏览量
更新于2024-09-01
收藏 59KB PDF 举报
"这篇资源主要讨论了如何在ExtJS中为级联菜单(ComboBox)设置默认值,特别强调了与普通控件赋值的区别,并给出了一个适用于ExtJS 3.0.0版本的示例代码。"
在ExtJS中,为普通的输入控件如文本框赋值确实非常简单,通常只需要一行代码就能完成。然而,对于更复杂的组件,如级联下拉菜单(ComboBox),尤其是涉及到远程数据加载和联动效果时,设置默认值就变得相对复杂。ComboBox常常用于实现多级选择,例如省份和城市的选择,当选择一个省份后,城市列表会根据所选省份动态更新。
在提供的代码段中,我们可以看到以下关键点:
1. `ExtStore` 是一个自定义函数,用于创建一个新的Ext.data.Store对象,它封装了对HTTP代理的配置,以便从指定的URL获取数据。这里有两个实例,分别用于省份和城市的加载。
```javascript
function ExtStore(url) {
return new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: url
}),
reader: new Ext.data.JsonReader({
totalProperty: 'count',
root: 'result'
}, [
{ name: 'Id' },
{ name: 'Name' }
])
});
}
```
2. `var combo1` 和 `var combo2` 分别初始化了两个ComboBox,其中`combo1`用于展示省份,`combo2`用于展示城市。`combo2`的初始化包含了父级菜单的ID,这在级联菜单中很重要。
3. 当`combo1`的选择发生变化时,通过监听`select`事件来触发联动行为。在事件处理器中,获取选中的省份ID,并检查是否需要更新`combo2`的值。如果需要,可以通过省份ID去获取对应的城市数据,并设置`combo2`的值。
```javascript
listeners: {
'select': function (combo, record) {
var id = record.get('Id');
// ...
}
}
```
4. 在实际应用中,`// ...` 部分可能包含调用服务器接口获取城市数据的逻辑,并使用`combo2`的`load`方法加载新数据。同时,为了设置`combo2`的默认值,你需要先确保城市数据已经加载完毕,然后设置`value`属性,如`combo2.setValue(selectedCityId)`。
5. `ComboBox`的其他配置项,如`mode: 'remote'`表示数据是远程加载的,`editable: false`禁止直接编辑输入框,`triggerAction: 'all'`表示触发按钮会显示所有匹配项,`displayField`和`valueField`分别定义了显示字段和存储的值字段。
设置ExtJS的级联菜单默认值涉及多个步骤,包括创建数据源、监听事件、动态加载数据以及在适当的时候设置值。这个过程比对普通控件赋值要复杂得多,需要理解ComboBox的工作原理以及如何与服务器进行数据交互。
2015-05-31 上传
2019-04-09 上传
2024-09-08 上传
2023-10-21 上传
2023-05-24 上传
2023-05-23 上传
2023-07-12 上传
2023-03-08 上传
2023-06-10 上传
weixin_38717171
- 粉丝: 1
- 资源: 876
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解