How to "escape" the JavaScript class keyword to specify a CSS class value.
- by Robert Claypool
C# allows a reserved word to be used as a property name via the ampersand. e.g.
// In ASP.NET MVC, we use @class to define
// the css class attribute for some HtmlHelper methods.
var htmlObject = new { readonly = "readonly", @class = "ui-state-highlight" }
I want to do the same in JavaScript. e.g.
function makeGrid(grid, pager) {
grid.jqGrid({
caption: 'Configurations',
colNames: ['Id', 'Name'],
colModel: [
{ name: 'Id', index: 'Id' },
{ name: 'Name', index: 'Name', editable: true,
editoptions: { readonly: 'readonly', class: 'FormElement readonly' } },
],
pager: pager,
url: 'www.example.com/app/configurations") %>',
editurl: 'www.example.com/app/configurations/edit") %>'
}).navGrid(pager, { edit: true, add: false, del: false, search: false }, {}, {}, {});
}
Note class: 'FormElement readonly' is supposed to set the css class value on jqGrid's edit dialog, but IE errors out on the reserved word.
Is there an escape character in JavaScript too? #class? @class? &class? Otherwise, how might I tell jqGrid to set the css class on the popup editor? Thank you.