jqGrid - установка заголовка динамически - PullRequest
8 голосов
/ 30 декабря 2011

У меня есть параметр caption, установленный в определении jqGrid.Я хочу знать, есть ли способ установить его динамически в зависимости от атрибута class элемента таблицы, к которому подключен плагин jqGrid.

HTML 1

<table id="myjqgrid" class="view"></table>
<div id="Pager"></div>

HTML 2

<table id="myjqgrid" class="edit"></table>
<div id="Pager"></div>

Определение JQGrid

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

1 Ответ

17 голосов
/ 31 декабря 2011

Вы можете использовать метод setCaption , чтобы установить новый заголовок на сетке:

var $grid = $('#myjqgrid');
$grid.jqGrid('setCaption', 'newCaption');

Если вам нужно установить заголовок, зависит от класса элемента <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');
}

Единственное, что вы не можете сделать в отношении setCaption , - это удалить (скрыть) заголовок: результаты, которые вы получите, еслиВы создали сетку без параметра caption (или с caption: "").Чтобы удалить (скрыть) подпись, вы можете сделать

$(">div.ui-jqgrid-titlebar", $grid.closest('div.ui-jqgrid-view')).hide();

или

$($grid[0].grid.cDiv).hide();

(подробности см. в ответе ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...