当我从jqgrid中选择3行进行删除时,我希望弹出窗口显示为“删除所选3条记录”但正确显示“删除所选记录”。
以下是我为删除功能编写的代码。 目前它显示错误为“Uncaught TypeError:undefined不是函数”。
var ids= $("#jqgrid").jqGrid('getGridParam', 'selrow');
var count=ids.length;
var myDeleteOptions = {
msg: "Delete selected"+count+"records?",
afterComplete: function(response, id){
//alert(response.responseText);
var msg=response.responseText;
var n =msg.search("Deleted");
if(n>=0)
$(".inner").html("<div class='alert alert-success fade in'><button class='close' data-dismiss='alert'>X</button><i class='fa-fw fa fa-thumbs-up'></i> "+msg+" </div>");
else
$(".inner").html("<div class='alert alert-danger fade in'><button class='close' data-dismiss='alert'>X</button><i class='fa-fw fa fa-thumbs-down'></i> "+msg+" </div>");
}
};
答案 0 :(得分:0)
您没有发布更多您使用的完整JavaScript代码。 jqGrid的delGridRow
方法有msg
选项,但您需要在调用delGridRow
方法之前直接动态设置选项。这是第一个问题。
代码中的第二个问题:明确的错误。您可以使用selrow
选项在多选模式下检测所有已删除行的 ids 。而不是你应该使用selarrrow
选项,它是所选行的ID数组。或者,您可以使用以逗号分隔的删除ID列表来删除对话框中隐藏的#DelData
隐藏文件。
因此,我建议您使用beforeShowForm
回调,而不是使用msg
选项。在回调内部,您可以将新文本分配给.delmsg
beforeShowForm: function ($form) {
var ids = $form.find("#DelData>td").text().split(",");
if (ids.length > 1) {
$form.find(".delmsg").text("Delete selected " + ids.length + " records?")
} else {
$form.find(".delmsg").text("Delete selected record?")
}
}
请参阅显示对话框的the demo
或喜欢
取决于删除行的数量。