datagrid combobox 选择后显示valueField 而不是 textValue解决方法

  • 解决方法
    1. editor不要url加载
    2. data:数据
    3. ajax请求拿到数据(同步请求不要异步请求)
editor:{
	type:'combobox',
	options:{
        //url:APP+'/Broadband/suitComboInfo', //传统的写法
        valueField:'s_id',   
       textField:'s_name',
       data:synchroAjaxByUrl()//更改之后的写法
	},
   required:true
},

function synchroAjaxByUrl(url){
        var temp;
        $.ajax({
            url:url,
            type:"get",
            async:false, //同步请求
            dataType:"json",
            success:function(data){
            temp = data;
        }
        });
            return temp;
}

如果上边写法不能解决参考下边 formatter 放在editor上边:

<th data-options="field:'userId',width:100,  
      formatter:function (value, row) {  //放在editor上边
        return row.userName;   
      },  
      editor:{  
         type:'combobox',  
         options:{  
            textField:'userId',  
            valueField:'userName',  
            url:'xx',  
            editable:false                                 
         }  
}">会员等级</th> 

formatter方法:

$('#cc').combobox({ 
    formatter: function(row){ 
        var opts = $(this).combobox('options'); 
        return row[opts.textField]; 
    } 
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
EasyUI Datagrid 中,如果你想在编辑后显示 Comboboxtext 而不是 value ,可以在 onAfterEdit 事件中手动将 value 转换为 text。具体来说,可以在事件处理函数中使用 Combobox 的 getText 方法获取 text ,然后将 text 设置到对应的单元格中。例如: ``` $('#datagrid').datagrid({ onAfterEdit: function (index, row, changes) { var fieldName = 'shipCompanyCode'; // 编辑的列名称 var value = row[fieldName]; // 获取编辑后的 value var text = $('#datagrid').datagrid('getEditor', {index: index, field: fieldName}).getText(value); // 获取 text $('#datagrid').datagrid('getRows')[index][fieldName + '_text'] = text; // 将 text 设置到对应的单元格中 $('#datagrid').datagrid('refreshRow', index); // 刷新对应的行 } }); ``` 在这个例子中,我们先获取编辑后的 value ,然后使用 getEditor 方法获取 Combobox 编辑器,并使用 getText 方法获取 text 。最后,将 text 设置到对应的单元格中,并使用 refreshRow 方法刷新对应的行。注意,为了将 text 设置到对应的单元格中,我们需要在列名后面加上 '_text' 后缀,否则会与原来的列名冲突。 需要注意的是,使用这种方法可能会导致数据冗余,因为 text 已经包含在了 value 对应的数据中。如果你不希望在数据中包含冗余的 text ,可以在显示数据时手动将 value 转换为 text ,而不是在编辑后将 text 保存到数据中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值