`
hackbomb
  • 浏览: 217171 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

EXT 二级联动下拉列表

    博客分类:
  • Ext
阅读更多

page.html代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

    <head>

        <title>省份和城市二级联动例子</title>

        <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <link rel="stylesheet" type="text/css"
            href="../extjs/resources/css/ext-all.css">

        <script type="text/javascript" src="../extjs/adapter/ext/ext-base.js"></script>

        <script type="text/javascript" src="../extjs/ext-all.js"></script>

        <script type="text/javascript" src="../extjs/ext-lang-zh_CN.js"></script>

        <script type="text/javascript" src="city.js"></script>

        <script type="text/javascript">  
  
Ext.onReady(function(){   
  
    //重载Grid排序 applySort   
  
    Ext.data.Store.prototype.applySort = function(){ //重载 applySort   
  
        if(this.sortInfo && !this.remoteSort){   
  
            var s = this.sortInfo, f = s.field;   
  
            var st = this.fields.get(f).sortType;   
  
            var fn = function(r1, r2){   
  
              var v1 = st(r1.data[f]), v2 = st(r2.data[f]);   
  
                //添加:修复汉字排序异常Bug   
  
               if(typeof(v1) == "string"){ //若为字符串  
  
                 return v1.localeCompare(v2);//则用localeCompare比较汉字字符串, Firefox 与 IE 均支持
  
               }   
  
              return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);   
  
            };   
  
            this.data.sort(s.direction, fn);   
  
            if(this.snapshot && this.snapshot != this.data){   
  
                this.snapshot.sort(s.direction, fn);   
  
            }   
  
        }   
  
    };   
  
    var provinceComBo=new Ext.form.ComboBox({   
           //隐藏名字
        hiddenName:'province',   
           //名字
        name: 'province_name',   
          
        valueField:"province",   
  
        displayField:"province",   
           //从哪里读取数据(local从本地读取数据,remote从服务器读取数据)
        mode:'local',   
           //标签显示的内容
        fieldLabel: '所在省份',   
           //没有输入时显示的内容
        blankText:'请选择省份',   
           //预设文字
        emptyText:'请选择省份',   
           //是否可编辑­
        editable:false,   
           //固定百分比
        anchor:'90%',   
           //固定选择项
        forceSelection:true,   
           //触发动作
        triggerAction:'all',   
           //数据源
        store:new Ext.data.SimpleStore(   
  
            {   
                   //js中表示的数据格式
                fields: ["province","city"],   
                   //js中数据源名称
                data:citys,   
                   //排序信息
                sortInfo:{field:'province'}   
  
            }   
  
        ),   
           //监听器
        listeners:{   
  
            select:function(combo, record, index){   
  
            /*select : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index )   
  
            Fires when a list item is selected   
  
            Listeners will be called with the following arguments:   
  
               
  
                * combo : Ext.form.ComboBox   
  
                  This combo box   
  
                * record : Ext.data.Record   
  
                  The data record returned from the underlying store   
  
                * index : Number   
  
                  The index of the selected item in the dropdown list   
  
               
  
            */   
                   //清空显示值
                cityCombo.clearValue();   
                   //加载数据
                cityCombo.store.loadData(record.data.city);   
  
            }   
  
        },   
  
        applyTo: 'provinceComBo'   
  
    })   
  
  
  
    var cityCombo=new Ext.form.ComboBox({   
  
        hiddenName:'city',   
  
        name:'city_name',   
  
        valueField:"city",   
  
        displayField:"city",   
  
        mode:'local',   
  
        fieldLabel: '所在城市',   
  
        blankText:'请选择城市',   
  
        emptyText:'请选择城市',    
  
        editable:false,   
  
        anchor:'90%',   
  
        forceSelection:true,   
  
        triggerAction:'all',   
  
        store:new Ext.data.SimpleStore({fields: ["city"],data:[],sortInfo:{field:'city'}}),   
  
        applyTo: 'cityCombo'   
  
    });   
  
       
  
})   
  
  
  
  </script>

    </head>

    <body>

        <input type="text" id="provinceComBo" size="20" />
        <input type="text" id="cityCombo" size="20" />

    </body>

</html>

 

city.js的代码
 
var citys=[   
  
['北京',[['北京'],['通县'],['昌平'],['大兴'],['密云'],['延庆'],['顺义'],['怀柔'],['平谷'],['石景山'],['朝阳'],['西城'],['东城'],['丰台'],['宣武'],['崇文'],['海淀']]],   
  
['上海',[['上海县'],['嘉定'],['松江'],['南汇'],['奉贤'],['川沙'],['青浦'],['崇明'],['金山']]],   
  
['天津',[['蓟县'],['宝坻'],['武清'],['静海'],['宁河']]]]

分享到:
评论

相关推荐

    ExtJS Combobox二级联动列子

    下面我们将详细讨论如何在ExtJS中实现Combobox的二级联动。 一、基础概念 1. Combobox:ExtJS中的Combobox是FormPanel的一个字段,它结合了文本输入框和下拉列表,提供了一种选择或输入数据的方式。 2. 二级联动:...

    extjs的ComboBox 2级联动

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

    用Ext 2_0 combobox 做的省份和城市联动选择框 DOJO中国

    它提供了一套完整的组件模型,包括各种UI控件,如表格、面板、菜单等,其中Combobox(组合框)是常用于创建下拉列表的选择框。在本案例中,“用Ext 2_0 combobox 做的省份和城市联动选择框”是一种交互式UI设计,常...

    jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

    在开发Web应用时,我们经常需要实现交互性强的用户界面,比如二级联动菜单。这种功能在JSP(Java Server Pages)中可以通过与数据库交互来动态填充下拉框,并结合JavaScript和Ajax技术实现。本文将详细讲解如何使用...

    Extjs3+MySQL后台数据库实现省份城市二级联动

    本文将深入探讨如何使用ExtJS 3结合MySQL来实现一个省份城市二级联动的前端与后台系统。 首先,ExtJS 3提供了丰富的组件和API,使得开发者可以轻松创建各种复杂的用户界面,如下拉菜单、表格、表单等。在这个案例中...

    Extjs4---combobox省市区三级联动+struts2

    ### Extjs4---combobox省市区三级联动+struts2 #### 一、技术背景与原理 本案例涉及的关键技术主要包括Extjs4框架中的`combobox`组件以及Struts2框架,通过这两种技术实现了省市区三级联动的效果。下面将详细介绍...

    extjs网页控件开发

    在一级、二级、三级联动下拉框中,选择一个选项将影响下一个下拉框的显示内容,提供了一种层次清晰的导航方式。在ExtJS中,这通常通过组合框(ComboBox)组件和数据存储(Store)配合实现。每个级别的下拉框都有自己...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4学习笔记(十六)---Combobox三级联动 ExtJS4学习笔记(十四)--- ComponentQuery ExtJS4学习笔记(四)---Grid的使用 Extjs4开发笔记(三)——菜单的实现 Extjs4开发笔记(二)——框架的搭建 Extjs4开发笔记(五)——...

    ExtAspNet_v2.3.2_dll

    -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用...

Global site tag (gtag.js) - Google Analytics