Как добавить кнопку перед действием кнопок в jqgrid
Ответ в пользовательском сообщении jQGrid добавляет пользовательскую кнопку к кнопкам завершения действия с помощью appendTo().
Как добавить кнопки для кнопок действий?
Я пытался заменить appendTo () на before() и prepend(), но при этом все кнопки исчезают.
1 ответ
Решение
Я пытался использовать prependTo
вместо appendTo
и все работает. Чтобы быть точно, я использовал
loadComplete: function () {
var iCol = getColumnIndexByName(grid, 'act');
$(this).find(">tbody>tr.jqgrow>td:nth-child(" + (iCol + 1) + ")")
.each(function() {
$("<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-right": "5px", float: "left", cursor: "pointer"})
.addClass("ui-pg-div ui-inline-custom")
.append('<span class="ui-icon ui-icon-document"></span>')
.prependTo($(this).children("div"));
});
}
Соответствующие демонстрационные показы
Я добавил дополнительно CSS
.ui-inline-custom.ui-state-hover span { margin: -1px; }
за небольшое улучшение зависания соответствует исправление ошибки, которое уже реализовано в jqGrid 4.3.2.
ОБНОВЛЕНО: Текущая версия бесплатной jqGrid поддерживает простой способ реализации пользовательских кнопок. Смотрите демо.