说是下篇,其实也无所谓上下了,只是我在上一篇关于实现ComboBox联动的文章中提出的问题,虽然也在Google和园子里泡了很久,苦于E文太菜,没能在Extjs官方论坛中寻求得到帮助,幸好皇天不负有心人,通过这么多天的努力,也总算吧问题给解决了,其实也不知道是不是实现我这个问题的最佳方法了,只算是能够实现吧,所以,我也就算抛砖引玉吧,希望各位大虾能多多指教.问题的提出,请参看我的上篇文章:Extjs学习笔记(-):ComboBox联动(上)
上篇曾提出不能实现第二个ComboBox数据的动态加载,下面先把正确的代码贴出,然后再就Extjs的某些属性,谈谈我的理解,不对之处,望指正.
1 //分类方式数据源
2 var store=new Ext.data.Store({
3 autoLoad:true,
4 proxy:new Ext.data.HttpProxy({
5 url:'../admin/GetCatWise.aspx'
6 }),
7 reader:new Ext.data.JsonReader({
8 id:'ID',
9 fields:['ID','Name']
10 }),
11 remoteSort:true
12 });
13 //第二个ComboBox数据源
14 var comstore =new Ext.data.Store({
16 autoLoad:false,
17 proxy:new Ext.data.HttpProxy({
18 url:'../admin/GetCategory.aspx',
20 method:'post'
21 }),
22 reader:new Ext.data.JsonReader({
23 id:'ID',
24 fields:['ID','CategoryName']
25 }),
26 remote:true
27 });
28
29var form=new Ext.form.FormPanel({
30 labelWidth:55,
32 bodyStyle:'padding:5px 5px 0',
33 frame:true,
34 items:[{
74 fieldLabel:'分类方式',
75 xtype:'combo',
76 editable :false,
77 name:'labCatWise',
78 id:'cmbCatWise',
79 lazyInit:false,
80 emptyText :'请选择',
81 displayField:'Name',
82 valueField :'ID',
83 mode:'local',
84 store:store,
85 listeners:{select:function(){
86 try{
87 var parent=Ext.getCmp('comParent');
90 parent.store.reload({params:{wiseID:this.value}});
91 }
92 catch(ex)
93 {
94 Ext.MessageBox.alert(ex);
95 }
96 }},
97 triggerAction:'all',
98 typeAhead :true,
99 anchor:'100%'
100
101 }, {
102 fieldLabel:'所属父类',
103 xtype:'combo',
104 editable :false,
105 emptyText :'请选择',
106 id:'comParent',
107 loadingText :'正在请求数据,请稍后',
108 store:comstore,
109 displayField:'CategoryName',
110 valueField :'ID',
111 mode:'local',
112 triggerAction:'all',
113 name:'labParent',
114 anchor:'100%'
115 }]
121 });
现在,我就上面的代码做几点解释:
1.通过设置第一个ComboBox的Select事件,在select事件中动态的加载第二个ComboBox的store,以达到ComboBox的联动效果.
2.我在select事件中,通过给第二个store传递不同的参数,然后再重新加载数据,以改变第二个store,但我在之前的实现方式是这样的:
var store=new Ext.data.Store(...);
secondCombo.store=store;
这样是不能实现的,这就引发了我对Extjs类的配置属性(config),公共属性(),公共方法(Method)的思考,我认为,Extjs类的配置属性是不能被动态配置的,就如同上面这样的写法,当然,可能可以通过调用或设置某些公共的方法和属性来改变这些配置属性,但不能直接设置.不知道我这样理解对否?
3.mode的理解,请注意高亮显示,在这里,我们把mode设置成'local',原因再于,在第一个comboBox的store中,我们设置了她的autoload属性为true,也就是在页面加载的时候就已经从服务器获取了数据,所以,我们在第一个ComboBox中的Mode就设置为local,原因是我们已经获取了数据.第二个ComboBox中的store的数据,是我们在第一个ComboBox的select事件中获取的,所以,在这里,我们也要把她的mode设置成local.关于comboBox的Mode配置属性的设置,需要根据自己的实际情况来设置,需要大家在不断的练习中掌握.
好了,本说我E文菜,看来,我的中文更菜哦,不多说,望大家指正.
分享到:
相关推荐
本篇学习笔记将深入探讨EXTJS中ComboBox的联动效果,即一个ComboBox的选择会触发另一个ComboBox的数据更新,以此来提供更丰富的交互体验。通过源码解析和工具应用,我们将了解如何构建和实现这种联动效果。 ...
在三级联动场景中,当用户选择一个省份时,ComboBox会动态加载并显示该省份下的城市列表;同样,当城市被选中后,会进一步加载并展示该城市内的区或县。这种联动效果可以提升用户体验,减少不必要的输入。 要实现这...
语言程序设计资料:ExtJs学习笔记-2积分.doc
Extjs4---combobox联动实例
在ExtJS中,下拉列表(Combobox)是常见的组件之一,它结合了输入框和下拉菜单的功能,允许用户进行选择或自由输入。本教程将深入探讨ExtJS中的Combobox组件,包括其基本用法、配置选项、事件处理和自定义功能。 1....
这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...
对爱好extjs的开发者有帮助,提供中文api文档,及常用的方法!
ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...
Extjs4.0学习笔记,以下是部分介绍: xtjs4,创建Ext组件有了新的方式,就是Ext.create(....),而且可以使用动态加载JS的方式来加快组件的渲染,我们再也不必一次加载已经达到1MB的ext-all.js了,本文介绍如何在EXTJS4...
茉莉花节点jsdom-extjs-testing-tool 使用 jasmine-node 和 jsdom 的功能性前端 Ext.JS 测试自动化工具如果您已经安装了节点包模块( ),安装将为您获取所需的库。Ext.JS 设置使用 Ext.JS 包并遵循 Sencha cmd 企业...
xtype 是 ExtJS 的核心组件之一,它提供了大量的组件类型,满足不同场景下的需求。 基本组件 1. button - xtype: 'button', 描述: 普通按钮 2. splitbutton - xtype: 'splitbutton', 描述: 带下拉菜单的按钮 3. ...
extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档
NULL 博文链接:https://lucky16.iteye.com/blog/1490278
前台采用ExtJs 2.2.1编写(由于库文件比较大,考虑到大家本机都有了,所以在此没有上传,大家直接改一下路径即可),后台采用asp+access编写(看文件名就知道了). 本例子演示的4级联动菜单:州+国家+城市+地区
"extjs-theme-bootstrap" 是针对 EXTJS4 的一个主题,它借鉴了 Bootstrap 的设计风格,让 EXTJS4 应用程序具有更加现代化和一致的外观。 Bootstrap 是一个流行的前端开发框架,由 Twitter 推出,主要用于构建响应式...
ExtJS 6.2是Sencha公司开发的一款强大的JavaScript框架,专门用于构建企业级的Web应用程序。Admin Dashboard模板则是ExtJS 6.2中的一个重要组件,它为开发者提供了一个现成的、完整的管理界面框架,方便快速搭建后台...
EXTJS并没有直接提供一个名为"自动补全"的组件,但它可以通过模拟Combobox组件来实现这一效果。Combobox是EXTJS中的一个下拉选择框,它可以显示一个下拉列表供用户选择,同时也可以配合自动补全功能。 首先,让我们...
本文将深入探讨如何在ExtJS中实现ComboBox的二级联动。 首先,我们需要理解ExtJS中的ComboBox基本结构。ComboBox由几个关键部分组成,包括store(数据存储)、displayField(显示字段)和valueField(值字段)。...
ExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.doc