`

Extjs 常用Combo组件

js 
阅读更多
//数据源本地,下拉列表不分页
var status_store = new Ext.data.JsonStore({
	autoLoad : true,
        fields:['id', 'text' ],
        data: [
        	{id:'1', text: '已审批'},
            {id:'2', text: '未审批'},
            {id:'3', text: '未通过'}           
        ]
});
	

var status_combo = new Ext.form.ComboBox({
	id : 'cms_status',
	fieldLabel : '审批状态',
	store : status_store,
	hiddenName : 'id',
	displayField : 'text',// 名称
	valueField : 'id',// 值
	mode : 'local',//本地
	forceSelection : true,
	triggerAction : 'all',
	width : 170,
	emptyText : '选择审批状态',
	selectOnFocus : true
});


//数据源非本地,下拉列表不分页 图1
var xb_Combox = new Ext.form.ComboBox({
	triggerAction : 'all',
	forceSelection : true,
	editable : false,// 不可编辑
	emptyText : '请选择',
	fieldLabel : '性别',
	name : 'xb',
	width : 180,
	displayField : 'text',// 名称
	valueField : 'id',// 值
	hiddenName : 'xb',
	store : new Ext.data.JsonStore({
		autoLoad : true,
		url : 'GetDic/XbDic.action?format=json',
		root : 'list',
		fields : ['id', 'text']
	}),
	listeners : {
		select : function(_combo) {
			if (_combo.store.getAt(0).get('id') != '') {
				var _comboRecord = new Ext.data.Record.create({
					name : 'id',
					name : 'text'
				});
				_combo.store.insert(0, new _comboRecord({
					id : '',
					text : '请选择'
				}));
			}
		}
	}
});


//数据源非本地,下拉列表框分页 图2
var mz_Combox = new Ext.form.ComboBox({
	fieldLabel : '名族',
	name : 'mz',
	triggerAction : 'all',
	forceSelection : true,
	editable : false,
	pageSize : 10,
	emptyText : '请选择',
	displayField : 'text',// 名称
	valueField : 'id',// 值
	hiddenName : 'mz',//form表单提交后,后台获取值
	width : 180,
	listWidth : 240,
	store : new Ext.data.JsonStore({
		autoLoad : true,
		url : 'GetDic/MzDic.action?format=json',
		root : 'list',
		baseParams : {
			limit : 10,
			start : 0
		},
		totalProperty : 'totalCount',
		fields : ['id', 'text']
	})
});


//数据源非本地,下拉列表树形结构 图3
Ext.override(Ext.tree.TreeLoader, {
	processResponse : function(response, node, callback, scope) {
	var json = response.responseText;
	json = json.slice(json.indexOf("["), json.lastIndexOf("]")+ 1);
	try {
		var o = response.responseData || Ext.decode(json);
		node.beginUpdate();
		for (var i = 0, len = o.length; i < len; i++) {
			var n = this.createNode(o[i]);
			if (n) {
				node.appendChild(n);
			}
		}
		node.endUpdate();
		this.runCallback(callback, scope || node, [node]);
	} catch (e) {
		this.handleFailure(response);
	}
	}
});

Ext.override(Ext.form.ComboBox, {
	onViewClick : function(doFocus) {
	var index = this.view.getSelectedIndexes()[0], s = this.store, r = s.getAt(index);
	if (r) {
		this.onSelect(r, index);
	} else if (s.getCount() === 0) {
		this.collapse();
	}
	if (doFocus !== false) {
		this.el.focus();
	}
	}
});

var hjd_Combox_edit = new Ext.form.ComboBox({
	fieldLabel : '户籍地',
	emptyText : '请选择',
	width : 180,// comboBox宽度
	maxHeight : 320,// comboBox下拉列表框的高度
	listWidth : 350,// 设置下拉框的宽度,默认和comboBoxTree的宽度相等
	name : '_hjd',
	store : new Ext.data.SimpleStore({
		fields : [],
		data : [[]]
	}),
	editable : false,
	shadow : false,
	hiddenValue : '',
	// hiddenName : 'hjd',
	mode : 'local',
	triggerAction : 'all',
	tpl : '<tpl for="."><div style="height:200px"><div id="hjdTree_edit"></div></div></tpl>',
	selectedClass : '',
	onSelect : Ext.emptyFn
});

var hjdTree_edit = new Ext.tree.TreePanel({
	loader : new Ext.tree.TreeLoader({
		dataUrl : 'GetDic/XzqhTreeDic.action?format=json'
	}),
	border : false,
	root : new Ext.tree.AsyncTreeNode({
		text : '新疆维吾尔自治区',
		id : '650000',
		expanded : true
	})
});

hjdTree_edit.on('click', function(node) {
	hjd_Combox_edit.setValue(node.text);
	hjdHidden.setValue(node.id)
	hjd_Combox_edit.onSelect(node.id);
	hjd_Combox_edit.collapse();
});

hjd_Combox_edit.on('expand', function() {
	hjdTree_edit.render('hjdTree_edit');
});

  • 大小: 9.4 KB
  • 大小: 18.3 KB
  • 大小: 64.4 KB
分享到:
评论

相关推荐

    extjs4 ComboBox 点击下拉框 出现grid效果

    在EXTJS4中,ComboBox是一个常用的组件,它用于创建下拉选择框,通常用于输入框的辅助选择。这个组件提供了一种用户友好的方式来从一组预定义的选项中进行选择。然而,根据你的标题和描述,你似乎遇到了一个特别的...

    ExtJs组件类的对应表

    ### ExtJs组件类的对应...以上列举的组件是ExtJs框架中常用的部分,通过这些组件的灵活组合与配置,开发者可以构建出复杂且高度定制化的用户界面。理解并熟练掌握这些组件的特性和用法,对于高效开发Web应用至关重要。

    Extjs4下拉菜单ComboBox中用Grid显示通用控件

    在EXTJS4中,`ComboBox` 是一个非常常用的组件,它提供了一个下拉选择框的功能。在某些场景下,我们可能需要在下拉菜单中展示更丰富的信息,比如表格数据,这时就可以使用 `GridComboBox`。`GridComboBox` 结合了 `...

    Extjs中常用表单介绍与应用

    本文将详细介绍ExtJS中常用表单组件的创建、应用以及验证和数据绑定等方面的知识,旨在帮助读者深入理解和掌握ExtJS表单的使用方法。 ### 表单面板(FormPanel)的创建 在ExtJS中,表单面板(FormPanel)是创建...

    extjs表单中的下拉框(comobobox)手动添加空选项

    其中一个常用的组件就是`ComboBox`(组合框),它可以用来创建一个包含可选择项目的下拉列表。在某些场景下,我们可能需要在`ComboBox`中手动添加一个空选项或者默认选项,例如“所有”、“请选择”等,以便让用户...

    extjsCombo下拉框多选

    描述中提到的“含源代码”意味着我们可以通过查看和理解这些代码来学习如何自定义ExtJS的Combo组件以实现多选功能。 在源代码中,我们可以预期会看到以下关键点: 1. **MultiCombox类的定义**:创建一个新的类,...

    ext多选下拉框(代码及例子)

    1. **EXTJS的Combo组件**:Combo是EXTJS中的一种表单组件,它提供了下拉列表的功能,可以用于输入或者选择数据。它既可以作为单选也可以作为多选,这取决于配置项`multiSelect`的设置。 2. **多选模式**:当`...

    extjs下拉树

    ExtJS下拉树是一种在Web应用中常用的交互组件,它结合了下拉框和树形结构的优点,使得用户可以在一个紧凑的空间内选择嵌套层次的数据。这种组件在数据层级较多,需要用户进行逐级选择或者查看层级关系时非常实用。在...

    extjs中文api

    面板是ExtJS中最常用的容器组件之一,可以用来容纳其他子组件,并通过不同的布局方式组织这些子组件。 **面板示例:** ```javascript var panel = Ext.create('Ext.panel.Panel', { title: '我的面板', width: ...

    Ext 将grid渲染到combox

    在 Ext JS 中,`ComboBox` 和 `Grid` 都是常用的数据展示控件。通常情况下,`ComboBox` 用于展示和选择单个值,而 `Grid` 用于展示多行数据。然而,在某些场景下,我们可能需要在一个 `ComboBox` 下拉菜单中展示更多...

    extJs xtype 类型

    6. **`panel`:** 面板组件,是ExtJS中最常用的容器之一,可以包含多个子组件,通过`Ext.Panel`类实现。 7. **`tabpanel`:** 选项卡面板组件,用于实现选项卡界面,通过`Ext.TabPanel`类实现。 8. **`treepanel`:**...

    ExtJs xtype一览

    - **`combo` (Ext.form.ComboBox)**: 下拉框组件,提供了一个下拉列表供用户选择。 - **`datefield` (Ext.form.DateField)**: 日期选择项组件,用于输入日期值。 - **`timefield` (Ext.form.TimeField)**: 时间录入...

    学习ExtJS Panel常用方法

    ### ExtJS Panel 常用方法详解 #### 一、属性介绍 在开始探讨 ExtJS Panel 的常用方法之前,我们先来了解一下与 Panel 相关的一些基本属性。 1. **frame**: - 类型:布尔类型(true 或 false) - 描述:此属性...

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

    ComboBox在Ext JS中是一个常用的组件,通常用于展示一组可选项,用户可以通过输入文字或者点击下拉列表来选择。而“下拉多选框”意味着这个ComboBox支持多选模式,用户可以选择多个值而不是仅限于一个。结合“带搜索...

    Extjs中ComboBox加载并赋初值的实现方法

    在EXTJS中,ComboBox是一个非常常用的组件,它用于创建下拉选择框,通常与数据存储(Store)结合使用,提供动态加载数据的功能。在实际应用中,我们常常需要在ComboBox加载完数据后设置其初始值,以确保用户看到的是...

    Ext常用扩展插件实例收集

    FieldPanel 是 ExtJS 中的一个组件,它主要用于封装表单字段,提供了一种将表单元素(如文本框、选择框等)与标题和描述文字结合在一起的方式。在实际应用中,FieldPanel 可以用于构建结构化的表单布局,使用户界面...

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

    在EXTJS这个强大的JavaScript框架中,ComboBox控件是一种常用的组件,它用于实现下拉选择框的功能。本篇学习笔记将深入探讨EXTJS中ComboBox的联动效果,即一个ComboBox的选择会触发另一个ComboBox的数据更新,以此来...

    Ext组件描述,各个组件含义

    通过以上介绍可以看出,ExtJS 提供了丰富的 UI 组件库,涵盖了从基础到高级的各种类型。这些组件不仅提供了强大的功能,还具有高度可定制性,使得开发者能够轻松构建美观且功能完善的 Web 应用程序。

    Ext JS 实现建议词模糊动态搜索功能

    fn: function (combo, record, index) { var no = Ext.get("querynodesid").dom.value; findByKeyWordFiler2(no); } } } }) ``` 这段代码创建了一个`ComboBox`组件,这是Ext JS中用于实现下拉列表或搜索框的...

    extjs4图表绘制之折线图实现方法分析

    在EXTJS4中,创建折线图是一种常用的数据可视化方式,可以帮助用户直观地理解数据变化趋势。本实例主要讲解如何利用EXTJS4的图表功能来实现动态数据的折线图展示,包括从后端获取数据并展示在图表上,以及查询每年...

Global site tag (gtag.js) - Google Analytics