2

カスタムjQGridポストアクションの回答は、appendTo()を使用してアクションボタンの終わりにカスタムボタンを追加します。

アクションボタンの前にボタンを追加するにはどうすればよいですか?

appendTo()をbefore()とprepend()に置き換えようとしましたが、これではすべてのボタンが消えます。

4

1 に答える 1

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"));
    });
}

対応するデモが表示されます

ここに画像の説明を入力

CSSを追加しました

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

ホバリングの小さな改善は、jqGrid 4.3.2 で既に実装されているバグ修正に対応しています。

更新:無料の jqGridの現在のバージョンは、カスタム ボタンを実装する簡単な方法をサポートしています。デモを参照してください。

于 2012-04-16T18:59:20.933 に答える