Javascript 如果使用clickableCheckbox格式化程序,如何从jqGrid中的已确认订单行中删除删除操作图标
jqGrid包含动作格式化程序和布尔发布列。 我试图在Javascript 如果使用clickableCheckbox格式化程序,如何从jqGrid中的已确认订单行中删除删除操作图标,javascript,jqgrid,Javascript,Jqgrid,jqGrid包含动作格式化程序和布尔发布列。 我试图在loadComplete中使用隐藏jqGrid中已发布行的删除操作按钮 var iCol = getColumnIndexByName($grid, 'Posted'); $('.ui-inline-del').each(function (index) { var row = $grid[0].rows[index]; if ($(row.cells[iCol]).find(">div>input:checked
loadComplete
中使用隐藏jqGrid中已发布行的删除操作按钮
var iCol = getColumnIndexByName($grid, 'Posted');
$('.ui-inline-del').each(function (index) {
var row = $grid[0].rows[index];
if ($(row.cells[iCol]).find(">div>input:checked").length > 0) {
$(this).hide();
}
});
但这会在错误的行中随机隐藏删除操作按钮。
如何从发布的列值为true的行中删除“删除”按钮?
colmodel中使用了Oleg格式化程序。数据以jsin格式从服务器读取
[{"name":"_actions",
"formatter":"actions",
,"delbutton":true,
formatoptions: {"delOptions":{"url":"Delete"}}},
{"label":null,"name":"Posted",
"edittype":"checkbox",
"editoptions":{"value":"True:False","readonly":"readonly","disabled":"disabled"},
"formatter":"clickableCheckbox",
"editable":true,"width":0,
"classes":null,"hidden":true,
}]
删除按钮后添加新按钮
$("<div>", {
title: "Custom",
mouseover: function () {
$(this).addClass('ui-state-hover');
},
mouseout: function () {
$(this).removeClass('ui-state-hover');
},
click: function (e) {
alert("'Custom' button is clicked in the rowis=" +
$(e.target).closest("tr.jqgrow").attr("id") + " !");
}
}
).css({ "margin-left": "2px", float: "left" })
.addClass("ui-pg-div ui-inline-custom")
.append('<span class="ui-icon ui-icon-lock"></span>')
.appendTo($(row.cells[iActionsCol]).children("div"));
$(“”{
标题:“海关”,
鼠标悬停:函数(){
$(this.addClass('ui-state-hover');
},
mouseout:函数(){
$(this.removeClass('ui-state-hover');
},
点击:功能(e){
警报(“‘自定义’按钮在行中单击=”+
$(e.target).closest(“tr.jqgrow”).attr(“id”)+“!”;
}
}
).css({“左边距”:“2px”,float:“left”})
.addClass(“ui pg div ui内联自定义”)
.append(“”)
.appendTo($(row.cells[iActionsCol])子项(“div”);
显示总是错误的图标
我认为您应该将枚举从
loadComplete
更改为如下内容:
loadComplete: function () {
var i, rows = this.rows, l = rows.length, row,
iClosedCol = getColumnIndexByName($grid, 'Posted'),
iActionsCol = getColumnIndexByName($grid, '_actions');
for (i = 0; i < l; i++) {
row = rows[i];
if ($(row).hasClass('jqgrow')) {
if ($(row.cells[iClosedCol]).find(">div>input:checked").length > 0) {
$(row.cells[iActionsCol]).find(">div>div.ui-inline-del").hide();
}
}
}
}
loadComplete:函数(){
变量i,行=this.rows,l=rows.length,row,
iClosedCol=getColumnIndexByName($grid,'Posted'),
iActionsCol=getColumnIndexByName($grid,'.\u actions');
对于(i=0;idiv>input:checked”).length>0){
$(row.cells[iActionsCol]).find(“>div>div.ui-inline-del”).hide();
}
}
}
}
在代码中,您可以确保将“删除”操作按钮隐藏在“已发布”列包含复选框的同一行中。非常感谢。成功了。如何在未过帐行的“删除”按钮和过帐行的“未过帐”按钮上添加附加过帐按钮?还是为它们添加单独的列更好?编辑操作始终不可见。还是用Post按钮代替编辑操作按钮更好?@Andrus:不客气!在中,我描述了如何添加自定义按钮,该按钮可以像标准的“操作”按钮一样使用。我想这正是你需要的。谢谢。删除图标后添加第二个图标总是显示错误的图标,如何显示正确的图标?如何在删除图标之前添加新图标?我更新了问题。@安德鲁斯:问题是你使用了更新版本的jqGrid,如-4.1.2,它有悬停错误。您应该更改与jqGrid的当前代码相对应的代码。您添加的代码似乎与原始问题相去甚远。stackoverflow的主要目标是与其他访问者共享问题和答案。所以最好把问题分成清晰的小部分。它有助于其他人发现和使用这些信息。