【发布时间】:2014-08-24 06:47:24
【问题描述】:
$(document).ready(function() {
$("#myDataList").jqGrid({
url: "<?= base_url(); ?>getmydata/getCategory",
datatype: "json",
autowidth: true,
mtype: "GET",
colNames: ["Category", "Description", ""],
colModel: [
{name: "c_category", editable: true, width: 1},
{name: "c_description", editable: true, width: 4, edittype: 'textarea'},
{name: "categoryid", key: true, editable: true, hidden: true, editrules: {edithidden: false}}
],
pager: "#myDataListPager",
rowNum: 10,
rowList: [10, 20, 30],
sortname: "c_category",
sortorder: "asc",
height: 'auto',
viewrecords: true,
gridview: true,
caption: "",
editurl: "<?= base_url(); ?>getmydata/c_action"
});
jQuery("#myDataList").jqGrid('navGrid', '#myDataListPager', {add: true, edit: true, del: true, search: true},
{closeAfterEdit: true}, {closeAfterAdd: true}, {
beforeShowForm: function($form) {
$("td.delmsg", $form[0]).html("Do you want to delete the row with <b>id=" +
$("#myDataList").jqGrid('getGridParam', 'selrow') + "</b>?");
},
afterSubmit: function(response) {
response = $.parseJSON(response.responseText);
alert(response.error);
if (response.error == 0) {
$.openDialog("info", "Successfully deleted ");
} else {
showDialog($('#Dialog'), response.msg, "An error occured");
}
}}
);
});
上面是我的网格代码,当我单击删除时,id 是 rowid 而不是 categoryid,如何将 id 设置为 categoryid 而不是 row id。如果 response.error 为真,我想显示一条对话框消息。当我提醒response.error时,我可以得到正确的结果,但是我不知道如何调用对话框来显示。
上面是我的返回json,我在点击删除时检查id是顺序的行id。
【问题讨论】:
-
使用jsfiddel会帮助我们理解
-
您发布的 URL 中的 JSON 数据包含
id和categoryid并且两者具有相同的值。目前尚不清楚您期望的categoryid值以及将发送的 rowid 是什么。你能举个例子吗?例如,如果删除带有id=7的项目,您应该在删除操作期间发布7。 -
但在网格表中,id 是按顺序排列的,而不是 json 返回的。在 json 中,id 序列是 5 11 6 9 ... 但在网格中,序列是 1 2 3 4 .....