ExtJS设置ComboBox级联菜单默认值教程
196 浏览量
更新于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 上传
点击了解资源详情
2019-03-18 上传
点击了解资源详情
点击了解资源详情
2024-09-08 上传
2021-07-06 上传
2021-10-11 上传
weixin_38717171
- 粉丝: 1
- 资源: 876
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载