添加按钮到jqgrid列标题

时间:2011-11-21 14:14:47

标签: javascript jquery jqgrid

有没有办法在列标题旁边添加按钮?我们可以说'排序指标'之后?

示例

| Id(按钮)|名称(按钮)|

提前致谢。

3 个答案:

答案 0 :(得分:16)

我想您知道可以在列标题中包含HTML标记。应该只在colNames中放置HTML片段而不是文本。我想你想在所有列标题中添加一些带图标的按钮,并在点击按钮时执行一些自定义操作。

您可以通过多种方式实施要求。在the demo中,我只展示了许多可能的实现中的一个:

enter image description here

单击自定义按钮时,将显示一个警告,其中显示了单击标题的列的名称。

相应的代码是

var $grid = $("#list");
//... here the grid will be created
$grid.closest("div.ui-jqgrid-view").find("div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-jqgrid-labels > th.ui-th-column > div.ui-jqgrid-sortable")
    .each(function () {
        $('<button>').css({float: "right", height: "17px"}).appendTo(this).button({
            icons: { primary: "ui-icon-gear" },
            text: false
        }).click(function (e) {
            var idPrefix = "jqgh_" + $grid[0].id + "_",
                thId = $(e.target).closest('div.ui-jqgrid-sortable')[0].id;
            // thId will be like "jqgh_list_name"
            if (thId.substr(0, idPrefix.length) === idPrefix) {
                alert('Clicked the button in the column "' + thId.substr(idPrefix.length) + '"');
                return false;
            }
        });
    });

答案 1 :(得分:0)

过去,我使用jquery在标题中添加一个按钮。我的列名称是“id”:

$('#gs_id').after('<button id="clear_filters" class="button blue">Reset</button>');

答案 2 :(得分:0)

.append可能会有所帮助。向列中添加一个类,然后将按钮附加到具有必需css的按钮。