我有一些問題,使用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