使用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;
}
});
-
扩展两个属性trueValue和falseValue,可提供使用者指定选中或取消时提交的值,默认为true和false。
-
重写字段的onRender方法,在render时,移除用来展示的html的input元素的名称,插入一个的同名hidden元素,保存要提交的值,不改变使用方式的前提下,能保证from在提交时,将插入的新元素提交,确保了设置的值会提交到后台。
-
重写setValue和getValue方法,保证了存取值时数据的同步。
-
常用的Ext创建对象的方式有两种:new justgin.bap.CheckboxEx()和Ext.create({xtype: 'checkbox'}),要想使用户在使用第二种方式时创建一个自己扩展的对象,可以在类的声明后加入一句对象类型的注册语句即可
Ext.reg('checkbox', justgin.bap.CheckboxEx);
分享到:
相关推荐
本篇文章将深入探讨Ext表单组件中的checkbox,以及如何利用源码和相关工具进行定制和优化。 1. **复选框的基本概念** 复选框在用户界面中常用于让用户从多个选项中选择一个或多个。在Ext JS中,复选框是`Ext.form....
在EXT JS中,树形组件(Tree Panel)常用于展现层级结构的数据,而扩展CHECKBOX功能则允许用户对树节点进行多选操作。 在EXT JS的Tree Panel中,要实现复选框功能,我们需要自定义UI Provider。UI Provider是EXT JS...
总的来说,"ext复选框的ColumnTree扩展包"为EXT的ColumnTree组件提供了增强的功能,使得在树形数据结构中进行选择操作变得更加便捷。通过引入这个扩展,开发者可以快速地为自己的EXT应用增加复选框功能,提高用户...
在EXTJS 2.2版本中,Tree Panel是EXTJS框架中用于展示树形结构数据的一个组件,但原生的...需要注意的是,EXTJS后续的版本已经内建了对Tree Panel复选框的支持,但在旧版本项目中,这样的扩展插件仍然是非常有价值的。
在给定的文件名`ext-basex.js`中,我们可以推测它可能包含了ExtJS的基础组件或扩展,可能包括CheckboxGroup的实现。通常,这些文件会定义组件的类、样式和行为。为了进一步了解如何利用`ext-basex.js`,你需要查看该...
多选下拉框在EXT JS中通常通过`Ext.form.CheckboxGroup`或`Ext.form.RadioGroup`类来实现,但在EXT3.2中,实现多选下拉框功能通常会使用`Ext.form.FieldSet`或`Ext.form.ComboBox`的自定义扩展。这类组件提供了复选...
例如,TreeField和CheckBoxTree等控件都是扩展自标准组件的功能。此外,Ext JS还可以与其他技术(如dwr、localXHR等)整合,增加更多的功能和灵活性。 #### 9. 常见问题解答 在Ext使用过程中,可能遇到各种问题,...
BoxComponent是Ext中的基本布局容器,可以用来控制子元素的位置和大小。通过调整BoxComponent的配置选项,开发者可以实现灵活的布局设计。 ##### 2. **Button(按钮组件)** Button组件是Web应用中最常见的交互...
但通过对List进行自定义配置和扩展,我们可以轻松地实现这一需求。首先,我们需要在列表的itemTpl中添加一个表示复选框的元素,例如HTML的`<input type="checkbox">`。然后,我们需要监听列表的`itemtap`事件,以便...
8. **扩展和插件**:EXT Tree有丰富的扩展和插件,如`checkbox`(复选框节点)、`contextmenu`(右键菜单)等,可以进一步增强功能。 在文档`extjs的tree的使用.doc`中,你将找到关于如何设置这些配置、创建树实例...
这个插件可能包含了对原有Tree节点UI的扩展,添加了复选框(Checkbox)以便用户进行选择操作,并且包含了级联选择的逻辑,确保了父子节点之间的状态同步。 使用这个扩展插件通常包括以下几个步骤: 1. 引入`...
- **主要用途**:适合于需要对表格中的数据进行编辑的场景。 **2.6 Grid Panel (Ext.grid.GridPanel)** - **xtype**: `grid` - **功能描述**:Grid Panel 是一个用于展示表格数据的组件。 - **主要用途**:展示...
在ExtJS 2中,Checkbox Tree是基于TreePanel组件的扩展,它提供了一种可视化的方式,让用户可以多选树结构中的节点。这个组件特别适用于需要对分类数据进行选择或过滤的场景,如文件系统导航、权限管理等。 要创建...
6. **表单组件**:EXT JS提供了一系列表单组件,如文本框(TextField)、下拉列表(ComboBox)、复选框(Checkbox)、单选按钮(RadioButton)等。这些组件可以轻松创建复杂的表单并实现数据验证。 7. **Ajax通信**...
扩展到更复杂的需求,例如在表格中添加CheckBox选中功能,可以创建一个CheckboxSelectionModel并将其添加到ColumnModel中: ```javascript var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid...
在这个“Ext2.0 form使用实例的例程”中,我们将深入探讨Ext 2.0的表单(form)组件及其应用。 表单在任何应用程序中都扮演着至关重要的角色,用于收集和验证用户输入的数据。Ext 2.0的表单组件提供了一整套完整的...
EXT JS中的表单是其强大功能的一部分,提供了多种表单控件,如TextField、TextArea、DateField、TimeField、HtmlEditor、ComboBox、Checkbox和Radio。以创建一个简单的表单为例,可以使用FormPanel来组织这些控件: ...
在描述中提到的"动态下拉框"(Dropdown)和"checkbox",是指在Ext JS中实现的一种具有选择功能的下拉列表,用户可以选择多个选项,每个选项前都有一个复选框。这种组件通常被称为Checkbox Combo或Checkbox Select。 ...
EXT表单的灵活性和可扩展性使得它在复杂的前端应用中非常有用。你可以自定义验证规则、布局样式、提示信息等,以满足各种需求。同时,EXT表单提供了丰富的事件处理机制,可以监听用户交互并进行相应的操作,如数据...
在Ext JS这个强大的JavaScript框架中,多选下拉框(Multi Select ComboBox)是一种常见的组件,用于提供用户在多个选项中进行选择的功能。这种组件在数据输入、筛选或配置设置等场景中非常实用。本篇文章将深入探讨...