我的列表中有个下拉框当选择一项后页面上所显示的是代码而不是文字,我的下拉框代码如下:function addEditorPosition(){
$("#borrow_detailinfo").datagrid('addEditor',{
field:'borrow_type',title:'借款类型',width:150,align:'center',
formatter: unitformatter,
editor:{
type:'combobox', //设置下拉框
options:{
//url:cusUrl, //ajax请求配置下拉框选项
data:positions,
valueField : 'enname', //存储字段码
textField : 'cnname', //显示字段值
required : true,
editable : false,
onSelect:function(record){ //选择后结束行编辑
}
}
}
});
}
匹配的方法代码如下:
function unitformatter(value) {
for (var i = 0; i < positions.length; i++) {
if (positions[i].enname == value) {
alert(value);
return positions[i].enname;
}
}
return value;
}
这个方法干脆就不走,求大神,求帮助。
插入一些log, 用浏览器的开发者工具看看,
什么版本的easyUI?datagrid没有addEditor这个方法吧,自己扩展的?
而且你的unitformatter返回的是enname。。也有点问题吧,是不要返回的cnname呢?要不你写这个formatter还有什么意义。。
自己写的新增一行的方法,那个返回enname是写错了。主要是他连走都不走unitformatter这个方法。
formatter: function(row){
var opts = $(this).combobox('options');
return row[opts.textField];
}
你的formatter格式有问题吧 多看看官网文档