获取删除操作的ID

时间:2013-01-24 12:14:51

标签: jquery jqgrid

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

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

beforeShowForm: function (form) {

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

如果我点击所选行的删除按钮,我没有任何问题,但如果我点击其他未选中行的删除按钮,我会得到所选行的ID。

enter image description here

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

我如何获得正确的身份证?

4 个答案:

答案 0 :(得分:1)

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

有关代码示例,请参阅the answer。如果使用multiselect: true选项,单元格的内容将以逗号分隔的行ID列表将被删除。

答案 1 :(得分: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以某种方式存储不同,那么你将不得不调整表达式。

答案 2 :(得分:0)

您的代码正在按照应有的方式执行...您要求使用

选择行
.jqGrid('getGridParam','selrow');

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

可能最好的,虽然更多的工作,是添加你自己的自定义按钮,使用相同的垃圾桶图标,响应它的onClick事件,然后让它将数据添加到自定义删除确认表单你会建立。

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

的内容
delOptions: {onclickSubmit: function(rp_ge, rowid) {alert('RowID: ' + rowid)}}

答案 3 :(得分:0)

var sr = jQuery("#list2").getGridParam('selrow');
rowdata = jQuery("#list2").getRowData(sr);