用户操作
[即时聊天] [发私信] [加为好友]
天晓得ID:tianxiaode
78171次访问,排名1279好友53人,关注者53
tianxiaode的文章
原创 27 篇
翻译 0 篇
转载 0 篇
评论 139 篇
天晓得的公告
点击这里给我发消息
MSN
最近评论
ddyyjj2002:受教了
zp830725:太感谢了,我刚刚学EXT2.0,你太有才了,佩服
riseman:怎么调度ext panel中load()页中的js
c364902709:楼主,最近我也在学习ext2.0,对于Ext中的表单中的文本框,可不可以实现按键盘回车时执行tab的功能,而当到达按钮时又执行提交按钮。
在firefox和ie都可以用的,我找了一个js只能在ie下用,高手可否指点一个,让firefox下也可以用。
我从网上找了一个什么让ff和ie离得更近的,看了半天也没看懂!
还请你给指点一下,去论坛发贴根本没有回
Remon:请问一个比较头痛的问题,也是我迟迟不敢用Ext的原因:一个企业级的应用,页面布局该如何规划,难道把整个企业级的应用都整到一个页面中(一个JS文件中),如果也按模块分成相应的页面(JS),则主页面的各模块的页面间的关系如何调度,还有就是调用Ext的那几个庞大的JS文件的问题,是不是每个模块中都要调用这些庞然大物?
文章分类
收藏
    相册
    图书
    图灵公司官方博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用Ext 2.0 combobox 做的省份和城市联动选择框收藏

    新一篇: 对《Ext2.0 form使用实例》的一点补充 | 旧一篇: 一个Ext2+SWFUpload做的图片上传对话框


     

         因项目需要,做了这个,发上来给大家参考一下,呵呵。

         刚开始的思路是通过定义好的数组通过comboboxstoreloadData方式加载数据,后来发现还不如直接定义好数组格式就是store的格式,然后直接附加到storedata里更简单,而且也方便城市的数据的载入。

         我们来看看两个comboBox的定义:

     

     

           var provinceComBo=new Ext.form.ComboBox({

                  hiddenName:'province',

                  name: 'province_name',

                  valueField:"text",

                  displayField:"text",

                  mode:'local',

                  fieldLabel: '所在省份',

                  blankText:'请选择省份',

                  emptyText:'请选择省份',

                  editable:false,

                  anchor:'90%',

                  forceSelection:true,

                  triggerAction:'all',

                  store:new Ext.data.SimpleStore({fields: ["text","city"],data:citys,sortInfo:{field:'text'}}),

                  listeners:{

                         select:function(combo, record,index){

                                cityCombo.clearValue();

                                cityCombo.store.loadData(record.data.city);

                         }

                  }

           })

     

           var cityCombo=new Ext.form.ComboBox({

                  hiddenName:'city',

                  name:'city_name',

                  valueField:"text",

                  displayField:"text",

                  mode:'local',

                  fieldLabel: '所在城市',

                  blankText:'请选择城市',

                  emptyText:'请选择城市',

                  editable:false,

                  anchor:'90%',

                  forceSelection:true,

                  triggerAction:'all',

                  store:new Ext.data.SimpleStore({fields: ["text"],data:[],sortInfo:{field:'text'}})

           });

     

    comboBox的其它定义我就不详细说了,有兴趣可以参考我的文章《Ext2.0 form使用实例》。我们重点研究一下它的sotre的定义。省份的store定义如下:

     

                  store:new Ext.data.SimpleStore({fields: ["text","city"],data:citys,sortInfo:{field:'text'}}),

                  listeners:{

                         select:function(combo, record,index){

                                cityCombo.clearValue();

                                cityCombo.store.loadData(record.data.city);

                         }

                  }

     

    store定义了两个字段,第一字段就是省份的显示和值字段,第二个字段就比较特殊了,保存了该省份的城市数组。这样的好处就是当出发选择事件的时候,直接将city字段的数据调入到城市的store就可以选择该省份的城市了,避免了通过循环对数据进行处理操作。不过在城市加载数据前,一定要清除城市选择的输入值(cityCombo.clearValue();)。

    城市comboboxstore定义没什么特别,就是显示城市名称可以了。

    在两个combobox中我还设置了一个排序(sortInfo:{field:'text'}),这样就更方便了。不过要按中文排序,得重载storeapplySort属性就行了,具体可以参考一下地址:

    http://jstang.5d6d.com/thread-362-1-4.html

     

    具体的数据定义可看一下例程里面的city.js

    如果需要一个id怎么办?重新定义一下store的字段和修改city的数据定义就可以了。如果数据在后台,则可以通过选择省份后动态修改cityurl就行了。

    希望通过这个例子,大家可以很轻松的做出combobox联动的其它例子,呵呵。

     

    点击这里下载例程。

     

    发表于 @ 2007年10月23日 12:53:00|评论(loading...)|编辑

    新一篇: 对《Ext2.0 form使用实例》的一点补充 | 旧一篇: 一个Ext2+SWFUpload做的图片上传对话框

    评论

    #Iceguy 发表于2007-10-23 13:06:42  IP: 218.108.29.*
    很实用 好文章!大哥辛苦!
    #harryjudy2240 发表于2007-10-25 23:42:52  IP: 58.252.187.*
    将军,我想问问:
    select:function(combo, record,index){

    cityCombo.clearValue();

    cityCombo.store.loadData(record.data.city);

    }

    那个combo、record、index参数分别是什么意思?
    2007-10-26 14:03:37作者回复
    select : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index )<br />Fires when a list item is selected<br />Fires when a list item is selected<br />Listeners will be called with the following arguments:<br /><br /> * combo : Ext.form.ComboBox<br /> This combo box<br /> * record : Ext.data.Record<br /> The data record returned from the underlying store<br /> * index : Number<br /> The index of the selected item in the dropdown list<br /><br />
    #cheng7xicx_jsp 发表于2008-04-15 10:39:12  IP: 218.242.159.*
    好东东 什么时候ext能出ui就爽了
    #ksfifa 发表于2008-05-23 20:23:16  IP: 222.201.148.*
    在ie下运行好像出错,ff没问题
    #nuoyan_cfan 发表于2008-05-25 01:26:41  IP: 222.187.49.*
    先收藏了!
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 天晓得