7

我看到您可以使用以下代码添加顶部标题栏并放置标题:

jQuery('#grid').setCaption("Title");

无论如何,如果我已经设置了标题,可以删除标题栏吗?

我试过了,但它只是删除了文本(不会删除整个标题栏)。

jQuery('#grid').setCaption("");
4

2 回答 2

19

如果你想快点,测试

$(".ui-jqgrid-titlebar").hide();

或者如果您有多个网格,则仅隐藏 $("#grid") 的标题栏,然后执行

$("#gview_grid > .ui-jqgrid-titlebar").hide()
于 2011-03-12T17:52:17.797 回答
7

如果您创建没有标题caption: ""栏(以“ui-jqgrid-titlebar-close”类作为子元素的锚点:<div><span>

<div id="gbox_list" class="ui-jqgrid ui-widget ui-widget-content ui-corner-all">
    ...
    <div id="gview_list" class="ui-jqgrid-view">
        <div style="display: none;"
             class="ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix">
            <a style="right: 0px;" class="ui-jqgrid-titlebar-close HeaderButton"
               role="link" href="javascript:void(0)">
                <span class="ui-icon ui-icon-circle-triangle-n"></span>
            </a>
            <span class="ui-jqgrid-title"></span>
        </div>
        ...

因此,即使您创建没有标题栏的网格 jqGrid 也会创建标题栏的所有隐藏元素

我查看了创建标题的 jqGrid 代码,可以找到以下片段

if(ts.p.caption) {
    ...
    $(".ui-jqgrid-titlebar-close",grid.cDiv).click( function(e){
    ...
} else {$(grid.cDiv).hide();}

因此,要获得与使用参数初始化的网格相同的结果,caption: ""您可以执行以下操作

var mygrid = jQuery('#list'),
    cDiv = mygrid[0].grid.cDiv;
mygrid.setCaption("");
$("a.ui-jqgrid-titlebar-close",cDiv).unbind();
$(cDiv).hide();

仅当您确定网格稍后将没有标题 ( caption) 时,才应该从最小化按钮解除绑定。绑定占用的资源更少,并且对隐藏网格没有任何作用。

所以Pravat Maskey的建议只是为了隐藏标题是绝对正确的,我的调查只是证实了这一点。

于 2011-03-13T23:01:39.903 回答