我是一个jqGrid新手。我需要在“编辑”表单中添加“删除”按钮。我能够添加按钮,它会按预期显示,包括确认对话框,但一旦按下我不知道如何引用原始行ID:
// Add a Delete button in Edit form:
$.extend($.jgrid.edit, {
bSubmit: "Submit",
bCancel: "Cancel",
width: 370,
recreateForm: true,
beforeShowForm: function () {
$('<a href="#">Delete<span class="ui-icon ui-icon-circle-close"></span></a>')
.click(function() {
if(confirm("Are you sure you want to delete this record?")) {
$("#projectList").jqGrid('delGridRow', row_id);
}
}).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
.prependTo("#Act_Buttons>td.EditButton");
}
});
上面代码中的row_id没有定义..如何在代码中引用此处所选当前行的id?上面的函数当前与其他主要的jqGrid函数并行,例如$(“#projectList”)。jqGrid({..})。或者更好,我如何从这里挂钩到默认的jqGrid删除功能? 谢谢!
答案 0 :(得分:0)
要获取beforeShowForm
内部编辑行的rowid,您可以使用编辑表单中包含一些隐藏行的信息,这些行可能对您有所帮助。 “添加/编辑”对话框在隐藏行中具有输入字段,其id =“id_g”。输入字段包含编辑行的ID。添加对话框在字段中包含_empty
字符串。
因此,您可以将beforeShowForm
回调修改为
beforeShowForm: function () {
var row_id = $("#id_g").val();
...
}
或以下
beforeShowForm: function ($form) {
var row_id = $("#id_g", $form).val(), $self = $(this);
...
$self.jqGrid('delGridRow', row_id);
...
}