admin管理员组

文章数量:1291214

C# allows a reserved word to be used as a property name via the at sign. 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/app/configurations") %>',
        editurl: 'www.example/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.

C# allows a reserved word to be used as a property name via the at sign. 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./app/configurations") %>',
        editurl: 'www.example./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.

Share Improve this question edited May 23, 2017 at 12:12 CommunityBot 11 silver badge asked May 26, 2010 at 5:38 Robert ClaypoolRobert Claypool 4,3129 gold badges53 silver badges61 bronze badges 1
  • Btw., '@' is not an ampersand, '&' is an ampersand (in the first paragraph). – Boris B. Commented Apr 19, 2012 at 13:31
Add a ment  | 

4 Answers 4

Reset to default 10

I think in this context, quoting class should work as it's the name of a property on an object literal i.e.

editoptions: { readonly: 'readonly', 'class': 'FormElement readonly' } },

I dont know jqGrid but I would imagine 'class' would work.

Use "className".

You can also use @class in jQuery

本文标签: aspnet mvcHow to quotescapequot the JavaScript class keyword to specify a CSS class valueStack Overflow