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

タイトルバー()のないjqGridを作成caption: ""し、開発者ツールまたはFirebugに関してグリッドを調べる<div>と、クラス「ui-jqgrid-titlebar」が<span>クラス「ui-jqgrid-title」を持ち、子要素としてクラス「ui-jqgrid-titlebar-close」を持つアンカー:

<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 に答える