jqGrid - 动态设置标题

tec*_*ead 8 jqgrid

caption在jqGrid定义中设置了参数.我想知道是否有办法根据classjqGrid插件所附加的表元素的属性动态设置它.

HTML 1

<table id="myjqgrid" class="view"></table>
<div id="Pager"></div>
Run Code Online (Sandbox Code Playgroud)

HTML 2

<table id="myjqgrid" class="edit"></table>
<div id="Pager"></div>
Run Code Online (Sandbox Code Playgroud)

JQGrid定义

$("#myjqgrid").jqGrid({
    caption: ""     // this is what I want to set dynamically
})
Run Code Online (Sandbox Code Playgroud)

Ole*_*leg 17

您可以使用setCaption方法在网格上设置新标题:

var $grid = $('#myjqgrid');
$grid.jqGrid('setCaption', 'newCaption');
Run Code Online (Sandbox Code Playgroud)

如果需要设置标题取决于<table>元素的类,则代码可以如下所示

if ($grid.hasClass('edit')) {
    $grid.jqGrid('setCaption', 'Edit Caption');
} else if ($grid.hasClass('vew')) {
    $grid.jqGrid('setCaption', 'View Caption');
} else {
    $grid.jqGrid('setCaption', 'Default Caption');
}
Run Code Online (Sandbox Code Playgroud)

对于setCaption方法,你唯一不能做的就是删除(隐藏)标题:如果你创建了没有caption参数(或with caption: "")的网格你得到的结果.删除(隐藏)您可以执行的标题

$(">div.ui-jqgrid-titlebar", $grid.closest('div.ui-jqgrid-view')).hide();
Run Code Online (Sandbox Code Playgroud)

要么

$($grid[0].grid.cDiv).hide();
Run Code Online (Sandbox Code Playgroud)

(详见答案).