我正在使用jqGrid并设置了一个动作处理程序,我希望用户能够删除一行。正在调用URL中指定的回调,但我无法弄清楚如何将行ID传递给URL处理程序,因此我知道要删除哪一行。
任何人都有解决方案吗?
<script>
$( document ).ready(function() {
$("#list2").jqGrid({
url:'datahandler',
datatype: "json",
colNames:['Name','Description', 'Data (Abbreviated)', 'Actions'],
colModel:[
{name:'name',index:'name', width:300, resizeable:true},
{name:'description',index:'description', width:300, resizeable:true},
{name:'data',index:'data', width:600, resizeable:true},
{name : 'actions', sortable:false, index: 'actions', formatter:'actions',
formatoptions: {
keys: true,
editbutton: false,
delOptions: { url: 'deleterow' }
}}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'name',
viewrecords: true,
sortorder: "desc",
caption:"PVSyst Data",
});
$("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
});
</script>
答案 0 :(得分:1)
目前尚不清楚您使用哪种格式来填充网格以及您使用哪种rowid。如果数据填写错误并且将使用值1,2,3而不是您希望在服务器端看到的rowid,则存在典型错误。无论如何,上述代码将使用HTTP POST请求到"deleterow"
中指定的URL delOptions
。数据采用delGridRow
文档中描述的格式(请参阅here)。例如,如果已删除行的ID为"123"
,那么发布到网址"deleterow"
的数据将为
oper=del&id=123
您只需在服务器端实现id
参数的读取即可。如果您要将参数名称从id
重命名为myId
等任何其他文字,则可以使用jqGrid option prmNames: { id: "myId" }
。之后,发布的数据将如下所示
oper=del&myId=123