easyui datagrid combobox 选择后显示valueField 而不是 textValue解决方法
2013-11-09 16:53
651 查看
前台:easyui,jquery1.3,html
后台:thinkphp,php
最终效果:
这次做项目的时候突然遇到一个非常棘手的问题,好好的使用的easyui的datagrid控件突然出现异常,特别是在对某些单元格进行编辑时并且编辑是使用combobox控件,此时会出现异常情况,选择过选项后本来该出现的是textValue的值,结果却总是出现valueField的值。查阅资料的过程中发现处理这个问题的非常少,一下是自己的一些解决方案。
datagrid 的部分代码如下:
{field:'s_id',title:'套餐',width:80,
formatter:function(value,rowData,rowIndex){
if(rowData.info!='-4'){
for(var i=0; i<suit_id.length; i++){
if(suit_id[i].s_id==value){
return suit_id[i].s_name;
}
}
}else{
return value;
}
},
editor:{
type:'combobox',
options:{
//url:APP+'/Broadband/suitComboInfo', //传统的写法
valueField:'s_id',
textField:'s_name',
data:suit_id //更改之后的写法
//value:1,
//validType:"comboOnlySelectId['suit_id','s_name',0]"
},
required:true
}
},
获取数据源的代码段:
window.suit_id = synchroAjaxByUrl(APP+'/Broadband/suitComboInfo');
//这是一段使用ajax同步获得数据的代码获取
function synchroAjaxByUrl(url){
var temp;
$.ajax({
url:url,
type:"get",
async:false,
dataType:"json",
success:function(data){
temp = data;
}
});
return temp;
}
通过提前获取到数据源然后在datagrid 要编辑的字段中将传统url:url获取数据源的方法变为data:data这种方式。就可以这种错误的发生。这种方式倒是有点类似与Extjs的那种写法,先得到数据源,哪里用到就在那里引用数据源,不知道问题是否表述的清除,希望可以帮得到大家。
后台:thinkphp,php
最终效果:
这次做项目的时候突然遇到一个非常棘手的问题,好好的使用的easyui的datagrid控件突然出现异常,特别是在对某些单元格进行编辑时并且编辑是使用combobox控件,此时会出现异常情况,选择过选项后本来该出现的是textValue的值,结果却总是出现valueField的值。查阅资料的过程中发现处理这个问题的非常少,一下是自己的一些解决方案。
datagrid 的部分代码如下:
{field:'s_id',title:'套餐',width:80,
formatter:function(value,rowData,rowIndex){
if(rowData.info!='-4'){
for(var i=0; i<suit_id.length; i++){
if(suit_id[i].s_id==value){
return suit_id[i].s_name;
}
}
}else{
return value;
}
},
editor:{
type:'combobox',
options:{
//url:APP+'/Broadband/suitComboInfo', //传统的写法
valueField:'s_id',
textField:'s_name',
data:suit_id //更改之后的写法
//value:1,
//validType:"comboOnlySelectId['suit_id','s_name',0]"
},
required:true
}
},
获取数据源的代码段:
window.suit_id = synchroAjaxByUrl(APP+'/Broadband/suitComboInfo');
//这是一段使用ajax同步获得数据的代码获取
function synchroAjaxByUrl(url){
var temp;
$.ajax({
url:url,
type:"get",
async:false,
dataType:"json",
success:function(data){
temp = data;
}
});
return temp;
}
通过提前获取到数据源然后在datagrid 要编辑的字段中将传统url:url获取数据源的方法变为data:data这种方式。就可以这种错误的发生。这种方式倒是有点类似与Extjs的那种写法,先得到数据源,哪里用到就在那里引用数据源,不知道问题是否表述的清除,希望可以帮得到大家。
相关文章推荐
- 解决:easyui中的datagrid详情展开,combobox的级联操作,以及修复combobox总是显示value值的问题
- 关于EasyUI 1.5版Datagrid组件在空数据时无法显示"空记录"提示的BUG解决方法
- easyui 表格中combo选择值后显示为valueField而非textField的解决
- easyui datagrid右边框不显示的解决方法
- easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
- easyui datagrid种编辑器combobox选择的值不显示解决方案
- 【解决方法】EasyUI DataGrid无数据时不显示滚动条问题
- 【工作记录0013】easyui中datagrid绑定,后台可读出数据,前台未显示的解决方法
- editorGridPanel++中+有一列使用combobox+,选择后显示的是value+而不是name.+解决方法
- Easyui datagrid 编辑结束时combobox显示value而不显示text
- easyUI的列表控件(datagrid)日期列不能正确显示Json格式数据的解决方法
- EasyUI带选择框的DataGrid实现点击行"不选中或取消选中"的解决方法。
- 如果使用Ext.form.ComboBox 作为editor,并设置了store,在选择后,在表格单元中显示的是store中的displayfield 而不是valuefield
- easyui笔记:datagrid 编辑结束时combobox显示value而不显示text
- easyUI combobox下拉框很长,easyUI combobox下拉框如何显示滚动条的解决方法
- easyUI的列表控件(datagrid)日期列不能正确显示的解决方法
- easyui datagrid 没数据时显示滚动条的解决方法
- easyui datagrid 没数据时显示滚动条的解决方法
- 【解决方法】EasyUI DataGrid不显示滚动条时,没有数据的问题
- 关于easyui datagrid 大量数据加载时 出现假死问题的解决方法