1

我有一个带有格式化程序操作的表格来编辑和删除行。

在删除操作中,我想在打开的对话框中显示一条消息,其中包含要删除的行 ID。所以在 beforeShowForm 事件中,我得到了 id:

beforeShowForm: function (form) {

     var rowid= $("#lista_operaciones").jqGrid('getGridParam','selrow');
     $("td.delmsg", form[0]).html(sprintf(mensaje_borrado, rowid));
},

如果我单击所选行的删除按钮,我没有任何问题,但是如果我单击其他未选择行的删除按钮,我会得到所选行的 id。

在此处输入图像描述

例如,我选择了最后一行,如果我点击第二行的删除按钮,我会得到最后一行的 id。

我怎样才能得到正确的身份证?

4

4 回答 4

1

我建议您在删除对话框中使用隐藏字段,其中包含id="DelData". 这是行 ( <tr>),其中一个单元格 ( <td>) 具有将被删除的行的 id。selrow使用该字段作为网格选项的使用更安全。

请参阅代码示例的答案。在使用multiselect: true选项的情况下,单元格的内容将是逗号分隔的行 ID 列表,这些行将被删除。

于 2013-01-24T12:57:40.853 回答
0

您需要找到与单击的删除按钮相关的行的 id,并且您需要在beforeShowForm: function.

假设所讨论的值是<tr>元素的 id,则表达式为:

$(tableSelector).on('click', 'deleteButtonSelector', function() {
    var rowid= $(this).closest('tr').attr('id');
    //do something here to make rowid available to the beforeShowForm function
});

如果 id 以某种方式存储,那么您将不得不调整表达式。

于 2013-01-24T12:48:01.000 回答
0

你的代码正在做它应该做的事情......你要求选择的行

.jqGrid('getGridParam','selrow');

如果我正确阅读了您的问题,您正在寻找将数据添加到现有的删除确认对话框,在本例中为 rowid。

最好的方法可能是添加您自己的自定义按钮,尽管需要做更多工作,但使用相同的垃圾箱图标,响应它的 onClick 事件,然后让它将数据添加到您将构建的自定义删除确认表单中。

如果您只想要一个带有 rowid 的额外消息框/警报,您可以使用类似的东西

delOptions: {onclickSubmit: function(rp_ge, rowid) {alert('RowID: ' + rowid)}}
于 2013-01-24T12:54:28.987 回答
0
var sr = jQuery("#list2").getGridParam('selrow');
rowdata = jQuery("#list2").getRowData(sr);
于 2015-05-04T07:43:15.027 回答