I have the caption
parameter set in the jqGrid definition. I want to know if there's a way to set it dynamically depending on the class
attribute of the table element to which the jqGrid plugin is attached.
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 Definition
$("#myjqgrid").jqGrid({
caption: "" // this is what I want to set dynamically
})
You can use setCaption method to set new caption on the grid:
var $grid = $('#myjqgrid');
$grid.jqGrid('setCaption', 'newCaption');
If you need to set the caption depend on the class of the <table>
element the code can be like the following
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');
}
The only thing which you can't do with respect of setCaption method is to remove (to hide) the caption: the results which you have if you created grid without caption
parameter (or with caption: ""
). To remove (to hide) the caption you can do
$(">div.ui-jqgrid-titlebar", $grid.closest('div.ui-jqgrid-view')).hide();
or
$($grid[0].grid.cDiv).hide();
(see the answer for details).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With