0

我是 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 删除功能?谢谢!

4

1 回答 1

0

要在您内部获取编辑行的 rowid,beforeShowForm可以使用以下事实:编辑表单有一些隐藏的行,其中包含可能对您有帮助的信息。添加/编辑对话框在 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);
    ...
}
于 2013-06-09T12:25:04.217 回答