Ext.form.ComboBox编辑页面显示值问题
程序员文章站
2022-03-07 13:31:54
...
最近用EXTJS 3.0开发项目,页面form表单中使用了ComboBox,
var _typestore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({url:'basecodeType!getJson.action'}),
reader: new Ext.data.JsonReader({
root: 'records',
totalProperty: 'totalCount',
id: 'basecodeTypeid',
fields: [
{name: 'basecodeTypeid'},
{name: 'name'}
]
}),
remoteSort: true
});
_typestore.load({params:{start:0,limit:6,sort:'basecodeTypeid',dir:'desc'}});
var _type=new Ext.form.ComboBox({
id:'basecodetype',
fieldLabel: '辅助编码类型',
name: 'basecode.basecodetype.basecodeTypeid',
hiddenName :'basecode.basecodetype.basecodeTypeid',
editable:false,//默认true,禁止手写和联想功能
typeAhead: true,
triggerAction: 'all',
lazyRender:true,
mode: 'remote',//指定数据加载方式:remote服务器,local客户端
emptyText:'--请选择--',
width: 210,
store: _typestore,
valueField:'basecodeTypeid' ,
displayField: 'name',
pageSize:6
});
如何 在进入编辑页面的时候能显示后台传来的值?测试了三种方法均通过,现将其总结如下:
第一种:在_typestore中添加
listeners :{
load:function(){
Ext.getCmp('basecodetype').setValue(${basecode.basecodetype.basecodeTypeid});
}
}
第二种:添加
_type.on('afterrender',function(){
Ext.get('basecodetype').dom.value='<s:property value="basecode.basecodetype.name"/>';
Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='<s:property value="basecode.basecodetype.basecodeTypeid"/>';
});
注意:'basecodetype'对应ComboBox的id;
'basecode.basecodetype.basecodeTypeid'对应ComboBox的hiddenName
第三种,所在表单form渲染后,可以不用放在事件里,而是直接添加
Ext.get('basecodetype').dom.value='<s:property value="basecode.basecodetype.name"/>';
Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='<s:property value="basecode.basecodetype.basecodeTypeid"/>';
推荐阅读
-
spring boot实现上传图片并在页面上显示及遇到的问题小结
-
解决EditText编辑时hint 在6.0 手机上显示不出来的问题
-
bootstrap制作jsp页面(根据值让table显示选中)
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
-
jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法
-
解决EditText编辑时hint 在6.0 手机上显示不出来的问题
-
AJAX验证数据库内容并将值显示在页面
-
JSP页面间传值问题实例简析
-
win10系统,jdk环境变量配置,编辑系统变量窗口显示旧版单行和新版列表问题
-
无阻塞加载js,防止因js加载不了影响页面显示的问题