我有一些问题,使用jqgrid作为jQuery框架。JqGrid编辑功能不工作,但参数已发送
在我的情况,我有一些表格,它是连接到一个表格让说部门
此表有两个ID CRUD功能:idms_department,部门(名称)。 idms_department是自动增量列。
,这里是我的jqGrid语法
$(document).ready(function() {
//alert("start");
jQuery("#departments").jqGrid({
mtype:'GET',
url:'functions/get_dept.php',
editurl:'functions/edit_dept.php',
datatype: "JSON",
colNames:['Department ID','Department'],
colModel:[
{name:'idms_department',index:'idms_department', width:150, editable:false, key:true},
{name:'department',index:'department', width:800,editable:true}
],
loadComplete: function() {
alert("OK");
},
loadError: function (jqXHR, textStatus, errorThrown) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
},
rowNum:10,
rowList:[5,10,15],
pager: '#pager-departments',
sortname: 'idms_department',
viewrecords: true,
jsonReader: {repeatitems: true, idms_department: "idms_department" },
sortorder: "asc",
caption:"MSC Departments"
});
jQuery("#departments").jqGrid('navGrid','#pager-departments',{edit:true,add:true,del:true},{closeAfterEdit:true},{closeAfterAdd:true},{},{closeAfterSearch:true},{});
jQuery("#departments").jqGrid('gridResize',{minWidth:350,maxWidth:850,minHeight:80, maxHeight:350});
//alert("end");
//start navigation system
$('#navigation-bar').collapsible({
effect: 'none',
initialCollapse: true
});
//end navigation system
});
我可以使用的jqGrid添加对话框中添加新的数据,但是当我要编辑的形式,但它不能编辑。
问题是我认为的id。之前,可编辑idms_department被设置为可编辑:true,工作正常,但是当我让它可编辑时:false,因为用户不能自己添加新的ID,所以我让它可编辑:false,行是从对话中消失。
我已经得到了我的萤火虫的回应,它显示该功能正在发送正确的数据,但数据没有变化。
编辑的PHP函数放在这里:
if($oper == 'edit'){
$deptid = $_POST['idms_department'];
echo $deptid;
$deptnm = $_POST['department'];
$upt = "UPDATE ms_department SET idms_department = '$deptid', department = '$deptnm' WHERE idms_department = '$deptid'";
if(mysql_query($upt)){
"Edited Successfully";
} else {
die("Error Edit : " .mysql_error());
}
mysql_close();
}
有什么不对?
对不起,但我不明白你为什么要让用户可编辑自动增量提交'idms_department'?顺便说一句,它不仅可以遵循冲突,但它可能只是不被数据库所允许。在我使用的Microsoft SQL Server中,必须在'UPDATE'之前使用'SET IDENTITY_INSERT ms_department ON',它在'UPDATE'之后更改autoincrelemt列并使用'SET IDENTITY_INSERT ms_department OFF'。我不使用MySQL,但它也可能存在同样的问题。 – Oleg
是的,因此,我只是将可编辑设置为false,但它不更新,甚至难以正确发送参数。 – randytan
你使用'UPDATE ms_department SET idms_department ='$ deptid',department ='$ deptnm'WHERE idms_department ='$ deptid'“;'因此你仍然尝试更改'idms_department'。为什么? – Oleg