`

Extjs combox 树组合框自定义

阅读更多

/** 
 * 韩飞 
 *  
 * @class TreeSelector 
 * @extends Ext.form.ComboBox 
 */ 
TreeSelector = Ext.extend(Ext.form.ComboBox, { 
    /** 
     * 回调函数,用于传递选择的id,text属性 
     *  
     * @type 
     */ 
    callback : Ext.emptyFn, 
    store : new Ext.data.SimpleStore({ 
                fields : [], 
                data : [[]] 
            }), 
    editable : false, 
    mode : 'local', 
    emptyText : "请选择部门", 
    allowBlank : false, 
    blankText : "必须输入!", 
    triggerAction : 'all', 
    maxHeight : 200, 
    anchor : '95%', 
    displayField : 'text', 
    valueField : 'id', 
    tpl : "<tpl for='.'><div style='height:200px'><div id='tree'></div></div></tpl>", 
    selectedClass : '', 
    onSelect : Ext.emptyFn, 
    /** 
     * 根的名字 
     *  
     * @type String 
     */ 
    rootText : '组织机构', 
    /** 
     * 树的请求地址 
     *  
     * @type String 
     */ 
    treeUrl : 'system/organization/loadOrganizationTrees.action', 
    tree : null, 
    initComponent : function() { 
 
        this.tree = new Ext.tree.TreePanel({ 
            height : 200, 
            scope : this, 
            autoScroll : true, 
            split : true, 
            root : new Ext.tree.AsyncTreeNode({ 
                        expanded : true, 
                        id:'o', 
                        text : this.rootText 
                    }), 
 
            loader : new Ext.tree.TreeLoader({ 
                        url : this.treeUrl 
 
                    }), 
            rootVisible : true 
                // , 
                /* 
                 * listeners : { scope : this, 'click' : function(node) {// 单击事件 
                 * if (node.id != null && node.id != '') { 
                 *  
                 * this.callback.call(this, node.id, node.text); 
                 *  
                 * this.collapse(); 
                 *  } } } 
                 */ 
            }); 
        var c = this; 
        /** 
         * 点击选中节点并回调传值 
         */ 
        this.tree.on('click', function(node) { 
                    if (node.id != null && node.id != '') { 
                        if (node.id != 'o') { 
                            c.callback.call(this, node.id, node.text); 
 
                            c.collapse(); 
                        }else{ 
                        Ext.Msg.alert("提示","此节点无效,请重新选择!") 
                        } 
 
                    } 
                }) 
 
        this.on('expand', function() { 
                    this.tree.render('tree'); 
                    this.tree.expandAll(); 
                }); 
 
        TreeSelector.superclass.initComponent.call(this); 
    } 

})
 

 

 

使用方法 new TreeSelector({callback:function(){  }})

 

 

分享到:
评论

相关推荐

    ExtJs自定义消息框

    ### ExtJs自定义消息框详解 #### 一、引言 在Web开发中,与用户的交互体验至关重要。作为一款优秀的JavaScript框架,ExtJs提供了多种工具和组件帮助开发者快速构建高质量的用户界面。其中,消息框作为一种常见的...

    Extjs 自定义树结构实现以及动态表头实现

    在本文中,我们将深入探讨如何使用ExtJS框架来实现自定义树结构以及动态表头的功能。ExtJS是一款强大的JavaScript库,常用于构建富客户端应用程序,它提供了丰富的UI组件和强大的数据绑定机制。VS2015是Visual ...

    Extjs自定义组件-下拉树

    ### Extjs自定义组件——下拉树:深入解析与实现 在现代Web开发中,Extjs作为一款功能强大且灵活的框架,深受开发者喜爱。它提供了丰富的UI组件库,能够帮助开发者快速构建复杂的用户界面。其中,自定义组件是Extjs...

    extJs4 ComboBox组合框实例

    extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释

    Extjs之旅-combox之远程加载数据

    本篇我们将深入探讨“Extjs之旅”中的一个关键组件——Combox(组合框),特别是其远程加载数据的特性。 Combox在ExtJS中是一个非常灵活的控件,它可以看作是下拉列表和文本输入框的结合体,用户可以输入文本搜索,...

    EXTJS动态树支持checkbox 全选

    标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...

    extjs 树 搜索

    在EXTJS中,树形控件(Tree)是一种常见的数据展示方式,用于组织层次结构的数据。树形控件可以被广泛应用于文件系统、组织架构、菜单等场景。当我们需要在这些大量的层次数据中查找特定信息时,搜索功能就显得尤为...

    extjs下拉树

    ExtJS下拉树是一种在Web应用中常用的交互组件,它结合了下拉框和树形结构的优点,使得用户可以...总的来说,ExtJS下拉树是通过组合ExtJS的基础组件和自定义代码来实现的,它提供了一种高效的方式来展示和操作层级数据。

    extjs带复选框的树包括全选 反选 子选父以及 父选子

    - `样式文件.css`:可能包含了一些自定义的样式,用于美化复选框和树的显示效果。 - `示例HTML文件.html`:演示如何在JSP页面上使用这个复选框树组件。 为了实现这些功能,开发者需要对ExtJS的API有深入理解,包括`...

    ExtJs 登陆框、框架

    在“C# Extjs 登陆框、框架”这个主题中,我们主要关注的是如何使用ExtJS创建一个登录界面,并结合C#后端实现用户验证。登录框是任何应用程序的基础元素,它通常包含用户名和密码字段,以及登录和取消按钮。在ExtJS...

    extjs目录树编辑

    目录树编辑功能是指EXTJS中允许用户对树形结构进行动态操作,包括添加、删除、修改和查询节点。这个功能在许多业务场景中非常实用,例如文件管理系统、权限管理界面等。EXTJS提供了一套完整的API和事件机制,使得...

    EXTJS 4 树形表格组件使用示例

    6. **可扩展性**:EXTJS 4的设计使得树形表格组件易于扩展,你可以添加自定义的行为、插件,甚至创建自己的节点类型。 在实际应用中,我们可以通过以下步骤来使用EXTJS 4的树形表格组件: 1. **创建Store**:定义...

    combox下拉树combox下拉树

    在IT行业中,`Combox`(组合框)是一种常见的用户界面元素,它结合了文本输入框和下拉列表的功能,通常用于提供用户选择一个或多个预定义的选项。当需要在下拉列表中呈现层级结构时,我们就会涉及到“Combox下拉树”...

    ExtJs5 去掉textfield边框

    在ExtJs5中,开发人员有时需要自定义UI以满足特定的设计需求,比如去掉`textfield`组件的边框。在给定的描述中,我们看到开发者遇到了一个问题:默认情况下,ExtJs5的`textfield`组件有明显的边框,但通过添加特定的...

    Extjs 无限树菜单 后台拼接json

    "Extjs 无限树菜单 后台拼接json"这个主题涉及到如何在后端生成无限级别的树形菜单数据,并通过JSON格式传输到前端进行渲染。 首先,我们要理解树形菜单的基本概念。树形菜单是一种以节点和层级关系展示数据的控件...

    Extjs Json树封装

    总的来说,"Extjs Json树封装"涉及的核心知识点有:JSON数据格式、ExtJS树形组件、树加载器(`JsonTreeLoader`)、可能的自定义插件(`JsonPluginTreeLoader`)以及如何在实际应用中配置和使用它们。理解并熟练运用...

    ExtJS如何自定义图片按钮组件

    1.ExtJS自定义组件,图片按钮为例. 2.此图片按钮背景完全为图片,没有边框,需要使用者提供2张图片,一张初始化用,一张点击后用,可在'imgPaths:'属性里填写,格式为'01.jpg~02.jpg' 3.解压后请将所有附件放置您extjs...

    extJs树形框架(一个例子)

    这个“ExtJS树形框架(一个例子)”示例项目展示了如何利用ExtJS创建一个与后端Oracle数据库、iBATIS持久层框架和Struts MVC框架交互的树形界面。下面,我们将深入探讨这些技术以及它们在该项目中的应用。 1. **...

    Extjs4 Combox tree

    ExtJS4中的ComboxTree是一种将下拉列表与树形结构结合的组件,它扩展了标准的ComboBox,提供了更丰富的用户交互体验。这种组件在数据展示和选择时特别有用,尤其是在处理具有层级关系的数据时,比如部门结构、地区...

    Extjs6中Combobox实现下拉多选

    该资源主要展示了在Extjs6中Combobox控件实现下拉选择多个数据的功能

Global site tag (gtag.js) - Google Analytics