`
b052617
  • 浏览: 3578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

开篇 ext comboBox联动

阅读更多

     最近在搞ext有问题google之的时候发现很多朋友都有这样那样的问题,并且有很多都没有最终的答案。

做了一阵子感觉还是有所得的,所以贴出来点可以直接用的东西大家一起讨论进步。

 

comboBox的多极联动可定时在开发中常用的事情,今天也是想在深入的研究comboBox的时候又看到了久之前一个朋友的问题。这里把自己用到的方法给朋友们分享下,尤其是刚看是接触ext的朋友。

 

我们的例子是,省份-->城市联动

 

首先我们需要两个stroe去读取远程数据:

/**

   *放置province信息的Store

   */

var provinceStore = new Ext.data.Store({
   autoLoad : false//设置为不自动读取数据
   proxy : new Ext.data.HttpProxy({
    url : 'searchProvince.html'
   }),
   reader : new Ext.data.JsonReader({
     root : "provinceList", //回传的数据集合,名称与action中的属性名一致
     id : "provinceStore_id"
    },[
     {name : 'provinceName',mapping : 'provinceName'},
     {name : 'provinceId',mapping : 'provinceId'}
    ]
   )
  });
  /**

   *放置city信息的Store

   */
  var cityStore= new Ext.data.Store({
   autoLoad : false
   proxy : new Ext.data.HttpProxy({
    url : 'searchCityList.html',
    method : 'POST'
   }),
   reader : new Ext.data.ArrayReader({
    root : 'cityList',
    id : 'cityStore_id'
   }, [
    {name : 'cityName',mapping : 'cityName'},

    {name : 'cityId',mapping : 'cityId'}
    ]
   )
  });

 

好的两个Store设置完成这样我们在调用每个的load方法时,数据将被加载到相应的store里

    ps:store能不autoLoad尽量不要,不然你有大量的数据自动加载时页面响应的速度会让你郁闷to death

言归正传~

 

下面我们的主角ComboBox来了

  我们的combo在某个items里,当然你可以单独new出来用再调用~

 items : [

     {
    fieldLabel : '省份,
    xtype : 'combo',
    store : provinceStore,
    id : 'provinceCombo',
    triggerAction : 'all',//默认为"query"如果不是all的话,选择一次以后其他的值就不见了
    readOnly :true,//只读

    mode : 'remote',//远程模式

    name : 'provinceCombo',
    valueField : "provinceId",//实际在请求中传递的值
    displayField : "provinceName",//显示在下拉框里的值
    handler : function () {
     proviceStore.load();//读取省份的信息
    },
    listeners : {
     select : function(combo, record, index) {
      //每次重新选中的时候把cityCombo的值设置为空
      //当然也可以通过这个方法为cityCombo设置一个初始值,依据具体应用而定

      //this.getValue(这个是Id值)或者record.data.provinceName把这个放到setValue里就可以做到了。

      Ext.getCmp('cityCombo').setValue('');

      cityStore.load({
       params : {
        provinceId : this.getValue()

        //cityStore向'searchCityList.html'请求是附带参数provinceId,可以根据这个值查询出某个省相应的城市信息
       }
      });
     }
    }
    }, {
     fieldLabel : '城市',
     xtype : 'combo',
     store : cityStore,
     readOnly : true,
     id : 'cityCombo',
     mode : 'local',//本地模式
     name : 'cityCombo',
     valueField : "cityId",

     triggerAction : 'all', 
     displayField : "cityName"

    }

 ]

 这段ext代码的主要处理过程都在provinceCombo里,我们首先监听了provice的点击事件,当被点击的时候加载provinceStroe,数据被展示在省份的下拉列表里,这个时候l再监听选中这个事件,我们知道了我们选中的是谁,他的index以及他的record,这个时候我们可以轻松的获得他的值并进行相应的处理。

 

    现在我们就可以去load cityStore了,在load的时候将参数传递给searchCityList.html这个action进行相应的查询。

   

    列表返回了,加载成功了,下拉框出来了~哈哈

 

  ok~一个简单的ComboBox联动就完成了

 

第一次在javaeye发博,请高手指摘~

1
0
分享到:
评论
2 楼 b052617 2009-09-03  
您只的是什么情况,能否描述一下,我没看太明白~
1 楼 shytian 2009-09-01  
使用这种方法如果你要加载显示一对省市就会有问题

相关推荐

    ext combobox二级联动

    ext,ext combobox,ext二级联动,ext combobox二级联动 ___本人的原则:上传好东西,但绝不便宜.因为自己的心血 ext combobox二级联动,ext ,ext combobox,combobox,combobox二级联动,ext 二级联动 groupCombo.on('...

    Ext combobox 下拉多选框带搜索功能

    在给定的标题“Ext ComboBox 下拉多选框带搜索功能”中,我们关注的是一个特别的ComboBox实现,它不仅允许用户从下拉列表中选择多个选项,还具备搜索功能,使得用户可以更高效地找到他们想要的选择项。 ComboBox在...

    用Ext 2.0 combobox 做的省份和城市联动选择框的例程

    在本文中,我们将深入探讨如何使用Ext 2.0的ComboBox组件实现省份和城市联动选择框的功能。Ext是一个强大的JavaScript库,它提供了丰富的用户界面组件,包括ComboBox,用于创建下拉选择框。在这个例程中,我们将看到...

    Extjs学习笔记(-):ComboBox联动

    本篇学习笔记将深入探讨EXTJS中ComboBox的联动效果,即一个ComboBox的选择会触发另一个ComboBox的数据更新,以此来提供更丰富的交互体验。通过源码解析和工具应用,我们将了解如何构建和实现这种联动效果。 ...

    extjs的ComboBox 2级联动

    在Web应用程序中,我们经常需要实现二级联动效果,即一个ComboBox的选择会影响另一个ComboBox的显示内容。这在数据关联和筛选场景中尤为常见,例如省份和城市的关联选择。本文将深入探讨如何在ExtJS中实现ComboBox的...

    Ext ComboboxGrid

    "Ext ComboboxGrid"是一个基于Ext JS框架的组件,它结合了下拉框(ComboBox)和数据网格(Grid)的功能,提供了一种更强大的选择和筛选数据的方式。在Ext JS中,ComboBox通常用于显示一个可选的下拉列表,而Grid则...

    ExtJS Combobox二级联动列子

    2. 二级联动:指两个或多个Combobox之间存在依赖关系,当一个Combobox的值改变时,另一个Combobox的选项也会相应更新。 二、实现原理 1. 数据模型:通常使用Store来存储数据,Store中每个记录包含多个字段,对应...

    Ext4.0 动态修改ComboBox选择项(本地模式)

    本知识点主要聚焦于如何在Ext4.0框架下动态修改ComboBox的选择项,特别是在本地模式下进行操作。Ext4.0是Sencha Ext JS的一个版本,它提供了一个强大的JavaScript组件库,用于构建富客户端应用程序。 首先,...

    Ext ComBobox 附带完整附件

    Ext ComBobox是一款基于JavaScript库Ext JS开发的下拉组合框组件,它为用户界面提供了一种高效、灵活且功能丰富的选择输入方式。这个组件通常用于在网页应用中实现复杂的数据选择,比如从一个长列表中选取一项或者...

    Ext comboBox的remote模式,联想功能实现

    本篇我们将深入探讨“Ext comboBox的remote模式”及其联想功能的实现。 在Ext JS的comboBox中,远程模式(remote mode)是一种数据加载策略,它适用于处理大量数据或实时数据的情况。在这种模式下,comboBox不会一...

    jQuery EasyUI编辑DataGrid用combobox实现多级联动

    本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的效果,这对于在数据录入时需要根据上一级选择动态更新下一级选项的情况非常有用,比如在本例中的“老师分类”和“老师细类”。...

    datagridview使用combobox进行二级联动

    当需要实现二级联动效果时,即一个`ComboBox`的选择会影响到另一个`ComboBox`的选项,这种功能常见于多级分类选择或筛选场景。本篇文章将深入探讨如何在C#环境下,利用这两个控件在`DataGridView`中实现二级联动。 ...

    flex combobox联动demo

    Flex Combobox联动效果是Adobe Flex开发中的一个常见功能,它涉及到UI组件的交互与数据绑定。在Flex中,Combobox是一种下拉选择框,它允许用户从预定义的选项列表中选择一个值,同时也可以手动输入。联动效果则是指...

    wpf comboBox 下拉框全国地址联动

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用程序中实现一个基于comboBox的全国地址联动功能。ComboBox是WPF中一个常用的控件,它允许用户在下拉列表中选择一个项或者输入自定义内容...

    flex datagrid 中实现combobox联动

    当我们需要在DataGrid的不同列中实现ComboBox的联动效果时,即在一个ComboBox的选择改变时,根据选中的值更新另一个ComboBox的选项,这涉及到事件监听、数据绑定和自定义组件等多个知识点。 首先,我们来理解联动的...

    EXT中COMBOX联动

    "EXT中COMBOBOX联动"指的是在EXTJS应用中,两个或多个COMBOBOX之间实现数据交互和联动效果,即当一个COMBOBOX的选择项改变时,会触发其他COMBOBOX的更新,以展示与当前选择相关联的数据。 EXTJS的COMBOBOX联动通常...

    Ext组合框comboBox带分页

    用EXT来实现下拉框ComboBox 下拉框可以实现分页

Global site tag (gtag.js) - Google Analytics