如何在jqgrid中的动作按钮之前添加按钮

时间:2012-04-15 08:45:00

标签: jquery jqgrid

Custom jQGrid post action中的答案使用appendTo()将自定义按钮添加到操作结束按钮。

如何为动作按钮添加按钮?

我尝试用before()和prepend()替换appendTo()但是在这里所有按钮都消失了。

1 个答案:

答案 0 :(得分:7)

我尝试使用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"));
    });
}

相应的demo显示

enter image description here

我另外添加了CSS

.ui-inline-custom.ui-state-hover span { margin: -1px; }

对于悬停的小改进,对应于已在jqGrid 4.3.2中实现的the bug fix

更新free jqGrid的当前版本支持实现自定义按钮的简便方法。请参阅the demo