我有一个使用内联编辑的网格。当我点击网格时,我已经为saveRow做了一个逻辑,并且输入了按下的标准。除非用户没有在单元格中输入任何内容,否则它的效果很好。这就是:
正如你所看到的那样,输入仍然存在,只有当我用一些文本填充单元格时它才会消失。我该如何避免这种行为?
这是我的代码:
$('body').bind('click', function(e) { // Click listener
if (lastSelectedRow != "" ) { //if a row is selected for edit
if($(e.target).closest('#grid_data').length == 0) {
$('#grid_data').saveRow(lastSelectedRow, false, 'clientArray');
lastSelectedRow="";
}
}
});
$("#grid_data").jqGrid({
url: '../json/jsonData.jsp',
datatype: 'json',
jsonReader:{
root: 'rows', //dados
page: 'page', //página requisitada
total: 'total', //total de páginas
records: 'records' //total de registros
},
pager: '#pager_data',
rowNum: 10,
rowList: [10,20,30],
autoencode: true,
height: 230,
width: 650,
gridview: true,
viewrecords: true,
caption: "Campos de Metadados",
cellsubmit : 'clientArray',
editurl: 'clientArray',
colNames:['ID','ID Metadata','Descrição','Valor'],
colModel:[
{name:'metadataFieldId', width:80, sorttype:"int", sortable: true, editable: false},
{name:'metadataId', hidden: true},
{name:'description', width:235, sortable: true, editable: false},
{name:'value', width:235, sortable: true, editable: true, editrules:{required:true}}
],
afterEditCell: function(rowId, cellName, value, iRow, iCol) {
// Change text color
var $row = $('#'+iRow+'_value');
$row.css('color','black');
},
onSelectRow: function (id) {
var $this = $(this);
if (id && id !== lastSelectedRow) {
if (lastSelectedRow != undefined) {
$('#grid_data').saveRow(lastSelectedRow, false, 'clientArray');
}
$this.jqGrid('editRow', id, true);
lastSelectedRow = id;
}
}
});