{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); } } } }如何获取当前index
时间: 2024-02-14 17:10:15 浏览: 65
在 easyui 的 datagrid 中,可以使用 `onBeforeEdit` 事件获取当前正在编辑的行的索引,然后在 `options` 中引用该索引即可。具体实现如下:
```
$('#dg').datagrid({
onBeforeEdit: function(index, row) {
// 将当前编辑行的索引保存到全局变量 editIndex 中
editIndex = index;
},
columns: [
{
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) {
// 在 onChange 事件中使用 editIndex 引用当前编辑行的索引
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);
}
}
}
},
// 其他列
]
});
```
在上面的代码中,我们在 `onBeforeEdit` 事件中将当前编辑行的索引保存到全局变量 `editIndex` 中,然后在 `options` 中引用该变量即可。