关于easyui-datagrid点击空白行事件获取问题,求前端大神指教

wutao0805 2016-06-23 02:19:34
小弟想实现以下需求。。在easyui-datagrid中双击 一行记录 开启编辑,然后点击其他行 结束编辑 并保存(这步已经实现),而且点击 空白行 同样结束编辑 并保存。。但是翻了 easyui-datagrid 的API找不到相应的 事件及方法。。请大神指教。。如下图所示:

代码如下:
var editRow = undefined ;
$('#positionGrid').datagrid({
//url:'',
fitColumns:true,
pagination:true,
nowrap : false,
singleSelect:true,
striped:true,
pageNumber:1,
pageSize:30,
pageList:[30,60,90,120,150],
columns:[[{
field:'depart_name',
title:'部门',width:80
}, {
field:'position_name',
title:'职位',
width:90,
editor:{
type:'validatebox',
options:{
required : true
}
},
}, {
field:'lever1',title:'职级1',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
},{
field:'lever2',title:'职级2',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever3',title:'职级3',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever4',title:'职级4',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever5',title:'职级5',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever6',title:'职级6',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever7',title:'职级7',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever8',title:'职级8',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever9',title:'职级9',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever10',title:'职级10',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever11',title:'职级11',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}, {
field:'lever12',title:'职级12',width:50,align:'center',
editor:{
type:'numberbox',
options:{
required : true
}
},
}]],
onDblClickCell: function(index,field,value){
//console.info($(this).datagrid('getSelected'));
//console.info(index);
if(editRow != undefined){
$(this).datagrid('endEdit', index);
}else{
$(this).datagrid('beginEdit', index);
//var ed = $(this).datagrid('getEditor', {index:index,field:field});
//$(ed.target).focus();
editRow = index;
}

},
onClickRow: function(index,row){
if(editRow != undefined && editRow != index){
$(this).datagrid('endEdit', editRow);

}
},
onAfterEdit: function(index, row, changes){
console.info(row);
console.info(changes);
var changGrid = $(this).datagrid('getChanges','updated');
console.info(changGrid[0]);
editRow = undefined;
$.ajax({
type : 'post',
url:'${pageContext.request.contextPath}/position/upPosition.do',
data: changGrid[0],
datetype : 'json'

})
}
...全文
489 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Love丶兰 2016-10-24
  • 打赏
  • 举报
回复
引用 7 楼 wutao0805 的回复:
已经自行解决了。。。感谢热心的朋友。。。 只需加一句话即可。。 $('div.datagrid-body').click(function(){ if(editRow != undefined) $('#positionGrid').datagrid('endEdit', editRow); }) 判断是否编辑状态,如果在编辑状态 单击结束编辑。
哥们 请问一下 这句话加载哪个位置 为什么 我加上 没效果啊...
wutao0805 2016-06-27
  • 打赏
  • 举报
回复
已经自行解决了。。。感谢热心的朋友。。。 只需加一句话即可。。 $('div.datagrid-body').click(function(){ if(editRow != undefined) $('#positionGrid').datagrid('endEdit', editRow); }) 判断是否编辑状态,如果在编辑状态 单击结束编辑。
wutao0805 2016-06-23
  • 打赏
  • 举报
回复
引用 5 楼 qq_32778999 的回复:
给空白区域加个点击事件,取消行编辑,可以试试
泪奔啊。。。我就是问的怎么获取 空白区域,难道我表达有问题??
Devin.qu 2016-06-23
  • 打赏
  • 举报
回复
给空白区域加个点击事件,取消行编辑,可以试试
wutao0805 2016-06-23
  • 打赏
  • 举报
回复
引用 2 楼 wutao0805 的回复:
[quote=引用 1 楼 xuezt 的回复:] 自己加事件吧
能说详细一点不?[/quote] 大哥您说的这些我都懂。。。要是我知道怎么找 我就直接写了。。我就是想知道怎么获取。。
xuezt 2016-06-23
  • 打赏
  • 举报
回复
找出来grid区域中你关心的那个div,给它加一个click事件。
wutao0805 2016-06-23
  • 打赏
  • 举报
回复
引用 1 楼 xuezt 的回复:
自己加事件吧
能说详细一点不?
xuezt 2016-06-23
  • 打赏
  • 举报
回复
自己加事件吧

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧