使用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);
分享到:
相关推荐
EXTjs2 的treeNode 带有checkbox,可是API中,关于checkbox的事件就只有一个checkchange事件,所以写个方法传上来。
EXT TREE 扩展CHECKBOX所需JS loader方法中添加: baseAttrs: {uiProvider: Ext.tree.TreeCheckNodeUI }
Ext_Net_CheckboxGroup 勾选、全选、反选和限制勾选
TreePanel的checkbox节点操作及父子节点联动的演示DEMO
NULL 博文链接:https://lovebeyond.iteye.com/blog/441009
NULL 博文链接:https://lw671579557.iteye.com/blog/579242
对控件的扩展让大家可以更好的使用数据,调用中用说明的
下拉框的下拉列表改成checkbox的ext下拉列表,呵呵
重写 代码如下: //解决checkboxgroup回填数据问题 Ext.override(Ext.form.BasicForm,{ findField : function(id){ var field = this.items.get(id); if(!field){ this.items.each(function(f){ if(f.isXType(...
1、ListView item中加入checkbox后onListItemClick 事件无法触发。 原因:checkbox的优先级高于ListItem于是屏蔽了ListItem的单击事件。 解决方案:设置checkbox的android:focusable="false" 2、选择其中的...
Extjs 模拟下拉多选checkbox
在Android中动态获取recyclerView中checkBox的值,然后在activity或者fragment获取check的值。
获取GridView中Checkbox的值
修改了checkbox事件处理,多选处理,适用于群发短信,电子邮件
GridView控件中使用CheckBox
layui table中的列为checkbox 使layui中table表格中的列单元格显示为单选框checkbox
checkbox实例,还有radiobox
本资源中包括Tree的文件和Tree的渲染文件(Checkbox),实现功能为点击树不获取值(也可以获取,改变一个变量即可),只有勾选Checkbox才能得到。并添加到集合中
mfc LISTCONTROL控件上增加checkbox控 增加显示图标的功能,VC 6.0 MFC
找了一些关于checkboxList控件的常用用法 添加项,选择项,删除项的等17种常用的方法。 希望对大家有用