`
bainian_205
  • 浏览: 46513 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

Ext之级联ComboBox

 
阅读更多
/**
* 定义store,在baseParams中定义参数,请求服务端数据,返回数据源
*/
var modelsStore = new Ext.data.JsonStore({
                         url : 'cars-makes-models.action',
                         baseParams : {
                                 cmd : 'models'
                         },
                         root : 'models',
                         fields : ['id', 'name']
                 });

/**
*
* makeCombo 父类combox 控制自身store的加载, 以及modelStore的加载 通过select触发事件,去级联modelStore
*/

var MakeCombo = {
         xtype : 'combo',
         store : makestore,
         displayField : 'name',
         valueField : 'id',
         typeAhead : true,
         editable : false,
         mode : 'remote',
         forceSelection : true,
         triggerAction : 'all',
         fieldLabel : 'Make',
         emptyText : 'Select a make...',
         selectOnFocus : true,
         anchor : '95%',
         store : new Ext.data.JsonStore({
                                 url : 'cars-makes-models.action',
                                 baseParams : {
                                         cmd : 'makes'
                                 },
                                 root : 'makes',
                                 fields : ['id', 'name']
                         }),
         listeners : {
                 'select' : function(cmb, rec, idx) {
                         // 得到models-combo组件
                         modelsCbx = Ext.getCmp('models-combo');
                         // 清除数据
                         modelsCbx.clearValue();
                         // 通过传入自身参数使modelStore重新加载
                         modelsCbx.store.load({
                                                 params : {
                                                         'makeId' : this.getValue()
                                                 }
                                         });
                         // 启用组件
                         modelsCbx.enable();
                 }
         }
};

/**
* 子类combox 注意这里的mode是定义为local(按常理是remote) 原因是不让这个组件在没有级联的关系下加载数据
*/

var ModelCombo = {
         xtype : 'combo',
         id : 'models-combo',
         store : modelsStore,
         displayField : 'name',
         valueField : 'id',
         typeAhead : true,
         editable : false,
         mode : 'local',
         forceSelection : true,
         triggerAction : 'all',
         fieldLabel : 'Model',
         emptyText : 'Select a model...',
         selectOnFocus : true,
         disabled : true,
         anchor : '95%'
};

/**
* 初始化面板
*/

Ext.onReady(function() {
                         var newCarForm = new Ext.FormPanel({
                                                 frame : true,
                                                 title : 'Car Reviews',
                                                 bodyStyle : 'padding:5px',
                                                 width : 420,
                                                 id : 'make-selector-frm',
                                                 url : 'new-car.php',
                                                 items : [MakeCombo, ModelCombo]
                                         });
                         newCarForm.render(document.body);
                 });
分享到:
评论

相关推荐

    easyui的datagrid中editor和combobox的级联

    在本文中,我们将深入探讨EasyUI的Datagrid中Editor与Combobox的级联应用,这是一种在Web开发中实现数据交互和界面控制的强大技术。EasyUI是一个基于jQuery的UI框架,它提供了一系列轻量级、易于使用的组件,如...

    Ext combo 下拉框级联

    标题中的"Ext combo 下拉框级联"指的是在Ext JS框架中使用Combobox组件创建级联下拉框的功能。Ext JS是一个强大的JavaScript UI库,提供了丰富的组件模型和数据绑定机制,用于构建复杂的Web应用程序。 首先,我们...

    extJs ComboBox级联

    级联ComboBox意味着两个或多个ComboBox之间存在关联,当用户在一个ComboBox中做出选择时,它会更新另一个ComboBox的选项,展示与当前选择相关的数据。 实现ExtJS ComboBox级联的关键在于理解其数据绑定和事件监听...

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选

    1. **创建一个新的类**:定义一个继承自Ext.form.ComboBox的新类,添加必要的配置和方法来支持多选。 2. **配置store**:设置一个数据存储(Store)来保存可选项,确保每个记录都有一个表示选中状态的字段,如`...

    Extjs4下拉树菜单ComboBoxTree支持单选和多选并且支持展开选中指定节点的通用控件

    要实现单选功能,ComboBoxTree可能使用了Ext.selection.Model类,通过配置singleSelect选项来限制用户只能选择一个节点。单击一个节点时,其他已选中的节点将被自动取消选中。这在需要用户做出唯一选择的场景中非常...

    Extjs4.X下comboboxTree下拉树型菜单,完美支持多选、单选,绝对好用

    Ext.create('Ext.form.field.ComboBox', { fieldLabel: '选择部门', store: Ext.create('Ext.data.TreeStore', { model: 'Department', root: { text: '所有部门', expanded: true, children: [ /* ... *...

    EXT 实现省份--城市--地区--级连

    在“EXT 实现省份--城市--地区--级连”这个主题中,我们将探讨EXT如何用来实现多级联动选择的功能,如省份、城市、地区之间的级联选择。 在Web应用中,用户可能需要选择一个地理位置,通常是从国家到省份,再到城市...

    GXT Cascade ComboBox Samples

    "GXT Cascade ComboBox Samples"指的是使用GXT库中的级联下拉框(Cascade ComboBox)组件进行的示例代码。 级联下拉框是一种特殊的控件,它允许用户从一系列相关的选项中进行选择,通常这些选项是层次化的。例如,...

    Ext 开发指南 学习资料

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

    EXT2.0中文教程

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

    ExtJS 设置级联菜单的默认值

    对于ComboBox可没这么简单… 版本 Ext JS Library 3.0.0 正文 一、问题 1.1 截图 1.2 代码 1.2.1 前端代码 代码如下: [removed] // function ExtStore(url) { return new Ext.data.Store({ proxy: new Ext.data....

    ext asp.net mvc nhibernate 完整项目示例

    1. **EXT.NET的使用**:EXT.NET提供了多种组件,如GridPanel(数据网格)、FormPanel(表单)、ComboBox(下拉框)等,以及事件处理和数据绑定机制,用于创建丰富的客户端交互。 2. **ASP.NET MVC框架**:理解路由...

    easyui+增强窗体 demo_ext为实例文件

    1、修复combobox在级联操作时,传递的swd参数值为null,而不是选中值。 2、datagrid的addEventListener 方法增加对事件onExpandRow和onCollapseRow的控制。 3、tree增加自定义属性 attributes,用于简单数据加载时,...

    Extjs4.0 ComboBox如何实现三级联动

    很多网友在问,Extjs4.0 ComboBox如何实现,好在之前用3.x实现过一个三级联动,如今用Extjs4.0来实现同样的联动效果。其中注意的一点就是,3.x中的model:’local’在Extjs4.0中用queryMode: ‘local’来表示,而且在...

    ExtJS 下拉多选框lovcombo

    var provinceCombo = Ext.create('Ext.form.field.ComboBox', { fieldLabel: '省份', store: provinceStore, queryMode: 'local', displayField: 'name', valueField: 'id', triggerAction: 'all', ...

Global site tag (gtag.js) - Google Analytics