{field: 'commodityConfig', width:250,title:"配置", editor:{ type:'combobox', options:{ valueField:'config_name', textField:'config_name', url: } } }, url怎么获取到其他列的值
时间: 2024-02-10 09:10:26 浏览: 119
你可以使用 easyui 的 datagrid 的 getEditor 方法来获取编辑器对象,然后再通过该编辑器对象获取其他列的值。具体的实现步骤如下:
1. 在 url 属性中设置一个可以获取到其他列值的接口地址;
2. 在 editor 的 options 中设置 onChange 事件,当配置选项发生变化时触发该事件;
3. 在 onChange 事件中使用 getEditor 方法获取到当前编辑器对象,然后通过该编辑器对象的 getRow 方法获取到当前行的数据对象;
4. 然后在该数据对象中获取到其他列的值,拼接到 url 中,最终获取到需要的数据。
下面是一个示例代码:
```
{field: 'commodityConfig', width:250,title:"配置",
editor: {
type:'combobox',
options: {
valueField: 'config_name',
textField: 'config_name',
url: 'getOtherColumnValue.php?columnValue=' + $('#dg').datagrid('getEditor', {index:editIndex,field:'otherColumn'}).target.val(),
onChange: function(newValue, oldValue) {
var editor = $(this).combobox('options').editor;
var row = editor.getRow(editor.target.closest('tr'));
var otherColumnValue = row.otherColumn;
$(this).combobox('reload', 'getOtherColumnValue.php?columnValue=' + otherColumnValue);
}
}
}
}
```
在上面的代码中,我们通过 getEditor 方法获取到了当前编辑器对象,然后通过该编辑器对象的 getRow 方法获取到当前行的数据对象,最终获取到了其他列的值,将其拼接成一个完整的 url,然后使用 combobox 的 reload 方法重新加载数据。
阅读全文