0

Attribute is an object in this form:

   var attribute = {
    AttributeId: attributeId,
    EntityId: entityId,
    AttributeDBName: attributeDbName,
    AttributeDisplayName: attributeDisplayName,
    IsSearchable: isSearchable,
    IsDeleted: isDeleted,
    IsVisible: isVisible,
    AttributeTypeId: attributeTypeId,
    Description: description,
    IsSystem: isSystem,
    IsActive: isActive,
    IsUnique: isUnique,
    IsRequired: isRequired,
    IsPersistent: isPersistent,
    DefaultValue: defaultValue
};

That attribute then gets passed to this function along with the ID of a grid:

function AddAttributeToGrid(attribute, gridId) {

    console.log(attribute); //Works! Displays the attribute.

    var id = a.attributeId;

    console.log(id);//UNDEFINED? WHAT?   

}

If I create a global variable (let's call it 'tempAttribute') and set it inside of AddAttributeToGrid, like so:

 function AddAttributeToGrid(attribute, gridId) {
    tempAttribute = attribute
}

I can then access the properties of tempAttribute...

Why can I not get the data from the properties? What is going on?

2 Answers 2

3

The property of attribute is AttributeId, not attributeId.

JavaScript is case sensitive.

But this assumes you initialized your object with a defined attributeId to start with. This is not clear in your code.

Sign up to request clarification or add additional context in comments.

1 Comment

Omg. I can't believe that I missed that... LMFAO! Thanks :)
1

i think you have

var id = a.attributeId;

instead of

var id = attribute.AttributeId;

inside the AddAttributeToGrid function definition

1 Comment

Close :) Turns out it was just a damn capitol letter instead of lowercase!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.