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

对Ext中CheckBox的扩展

    博客分类:
  • Ext
阅读更多

 

使用Ext中的Checkbox时,经常需要随form一起提交,但Checkbox设置的默认的提交值为"on""",后台代码中需要对字段的提交进行判断后取值,不符合我们通常的使用习惯,即直接将提交的值转换为对应的boolean类型,为此,特进行扩展和封装,以满足通过的使用方式,代码如下:

 

	justgin.bap.CheckboxEx = Ext.extend(Ext.form.Checkbox, {
		trueValue: true,
		falseValue: false,
		hiddenField: {value:''},
		
		onRender : function(ct, position){
	    	justgin.bap.CheckboxEx.superclass.onRender.call(this, ct, position);
	    	var hidden = this.el.insertSibling({tag:'input', type:'hidden', name: this.name}, 'before', true);
	    	hidden.value = this.hiddenField.value;
	    	this.hiddenField = hidden;
	    	this.el.dom.removeAttribute('name');
	    	this.on('check', this.onCheck);
	    },
	    
	    setValue : function(v){
	    	var me = this;    	
	    	justgin.bap.CheckboxEx.superclass.setValue.call(this, v);
	    	this.hiddenField.value = this.checked?me.trueValue:me.falseValue;
	    },
	   
	    getValue : function(v){
	    	return this.hiddenField.value;
	    },
	   
	    onDestroy : function(){
	        Ext.destroy(this.wrap);
	        justgin.bap.CheckboxEx.superclass.onDestroy.call(this);
	    },
	
		onCheck : function(me, checked){
	        this.hiddenField.value = checked?me.trueValue:me.falseValue;
	    }

});

 

  • 扩展两个属性trueValuefalseValue,可提供使用者指定选中或取消时提交的值,默认为truefalse
  • 重写字段的onRender方法,在render时,移除用来展示的htmlinput元素的名称,插入一个的同名hidden元素,保存要提交的值,不改变使用方式的前提下,能保证from在提交时,将插入的新元素提交,确保了设置的值会提交到后台。
  • 重写setValuegetValue方法,保证了存取值时数据的同步。
  • 常用的Ext创建对象的方式有两种:new justgin.bap.CheckboxEx()Ext.create({xtype: 'checkbox'}),要想使用户在使用第二种方式时创建一个自己扩展的对象,可以在类的声明后加入一句对象类型的注册语句即可  
Ext.reg('checkbox', justgin.bap.CheckboxEx);

     

分享到:
评论

相关推荐

    Ext表单组件之checkbox

    本篇文章将深入探讨Ext表单组件中的checkbox,以及如何利用源码和相关工具进行定制和优化。 1. **复选框的基本概念** 复选框在用户界面中常用于让用户从多个选项中选择一个或多个。在Ext JS中,复选框是`Ext.form....

    EXT TREE 扩展CHECKBOX JS

    在EXT JS中,树形组件(Tree Panel)常用于展现层级结构的数据,而扩展CHECKBOX功能则允许用户对树节点进行多选操作。 在EXT JS的Tree Panel中,要实现复选框功能,我们需要自定义UI Provider。UI Provider是EXT JS...

    ext复选框的ColumnTree扩展包

    总的来说,"ext复选框的ColumnTree扩展包"为EXT的ColumnTree组件提供了增强的功能,使得在树形数据结构中进行选择操作变得更加便捷。通过引入这个扩展,开发者可以快速地为自己的EXT应用增加复选框功能,提高用户...

    解决 extjs2.2 给tree-panel 添加 checkbox 的add-on

    在EXTJS 2.2版本中,Tree Panel是EXTJS框架中用于展示树形结构数据的一个组件,但原生的...需要注意的是,EXTJS后续的版本已经内建了对Tree Panel复选框的支持,但在旧版本项目中,这样的扩展插件仍然是非常有价值的。

    ExtJS实现动态读写Checkboxgroup

    在给定的文件名`ext-basex.js`中,我们可以推测它可能包含了ExtJS的基础组件或扩展,可能包括CheckboxGroup的实现。通常,这些文件会定义组件的类、样式和行为。为了进一步了解如何利用`ext-basex.js`,你需要查看该...

    EXT3.2 多选下拉框

    多选下拉框在EXT JS中通常通过`Ext.form.CheckboxGroup`或`Ext.form.RadioGroup`类来实现,但在EXT3.2中,实现多选下拉框功能通常会使用`Ext.form.FieldSet`或`Ext.form.ComboBox`的自定义扩展。这类组件提供了复选...

    EXT教程EXT用大量的实例演示Ext实例

    例如,TreeField和CheckBoxTree等控件都是扩展自标准组件的功能。此外,Ext JS还可以与其他技术(如dwr、localXHR等)整合,增加更多的功能和灵活性。 #### 9. 常见问题解答 在Ext使用过程中,可能遇到各种问题,...

    Ext组件说明 Ext组件概述

    BoxComponent是Ext中的基本布局容器,可以用来控制子元素的位置和大小。通过调整BoxComponent的配置选项,开发者可以实现灵活的布局设计。 ##### 2. **Button(按钮组件)** Button组件是Web应用中最常见的交互...

    Sencha 自定义List中的checkbox

    但通过对List进行自定义配置和扩展,我们可以轻松地实现这一需求。首先,我们需要在列表的itemTpl中添加一个表示复选框的元素,例如HTML的`<input type="checkbox">`。然后,我们需要监听列表的`itemtap`事件,以便...

    EXT tree 使用 实例 最新

    8. **扩展和插件**:EXT Tree有丰富的扩展和插件,如`checkbox`(复选框节点)、`contextmenu`(右键菜单)等,可以进一步增强功能。 在文档`extjs的tree的使用.doc`中,你将找到关于如何设置这些配置、创建树实例...

    Ext 树的级联选择扩展插件使用说明

    这个插件可能包含了对原有Tree节点UI的扩展,添加了复选框(Checkbox)以便用户进行选择操作,并且包含了级联选择的逻辑,确保了父子节点之间的状态同步。 使用这个扩展插件通常包括以下几个步骤: 1. 引入`...

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

    - **主要用途**:适合于需要对表格中的数据进行编辑的场景。 **2.6 Grid Panel (Ext.grid.GridPanel)** - **xtype**: `grid` - **功能描述**:Grid Panel 是一个用于展示表格数据的组件。 - **主要用途**:展示...

    checkbox tree extjs2

    在ExtJS 2中,Checkbox Tree是基于TreePanel组件的扩展,它提供了一种可视化的方式,让用户可以多选树结构中的节点。这个组件特别适用于需要对分类数据进行选择或过滤的场景,如文件系统导航、权限管理等。 要创建...

    EXT_JS实例,官方实例

    6. **表单组件**:EXT JS提供了一系列表单组件,如文本框(TextField)、下拉列表(ComboBox)、复选框(Checkbox)、单选按钮(RadioButton)等。这些组件可以轻松创建复杂的表单并实现数据验证。 7. **Ajax通信**...

    Ext2.0示例讲解

    扩展到更复杂的需求,例如在表格中添加CheckBox选中功能,可以创建一个CheckboxSelectionModel并将其添加到ColumnModel中: ```javascript var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid...

    Ext2.0 form使用实例的例程

    在这个“Ext2.0 form使用实例的例程”中,我们将深入探讨Ext 2.0的表单(form)组件及其应用。 表单在任何应用程序中都扮演着至关重要的角色,用于收集和验证用户输入的数据。Ext 2.0的表单组件提供了一整套完整的...

    EXT 完美教程

    EXT JS中的表单是其强大功能的一部分,提供了多种表单控件,如TextField、TextArea、DateField、TimeField、HtmlEditor、ComboBox、Checkbox和Radio。以创建一个简单的表单为例,可以使用FormPanel来组织这些控件: ...

    ext js 动态下来框

    在描述中提到的"动态下拉框"(Dropdown)和"checkbox",是指在Ext JS中实现的一种具有选择功能的下拉列表,用户可以选择多个选项,每个选项前都有一个复选框。这种组件通常被称为Checkbox Combo或Checkbox Select。 ...

    EXT from培训教材

    EXT表单的灵活性和可扩展性使得它在复杂的前端应用中非常有用。你可以自定义验证规则、布局样式、提示信息等,以满足各种需求。同时,EXT表单提供了丰富的事件处理机制,可以监听用户交互并进行相应的操作,如数据...

    Ext多选下拉框

    在Ext JS这个强大的JavaScript框架中,多选下拉框(Multi Select ComboBox)是一种常见的组件,用于提供用户在多个选项中进行选择的功能。这种组件在数据输入、筛选或配置设置等场景中非常实用。本篇文章将深入探讨...

Global site tag (gtag.js) - Google Analytics