0

属性は、次の形式のオブジェクトです。

   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
};

その属性は、グリッドの ID とともにこの関数に渡されます。

function AddAttributeToGrid(attribute, gridId) {

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

    var id = a.attributeId;

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

}

グローバル変数 ('tempAttribute' と呼びましょう) を作成し、AddAttributeToGrid 内に設定すると、次のようになります。

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

その後、tempAttribute のプロパティにアクセスできます...

プロパティからデータを取得できないのはなぜですか? 何が起こっている?

4

2 に答える 2

3

のプロパティattributeAttributeId、ではありませんattributeId

JavaScript では大文字と小文字が区別されます。

ただし、これは、最初に定義済みでオブジェクトを初期化したことを前提としていますattributeId。これはあなたのコードでは明確ではありません。

于 2013-08-24T11:32:45.727 に答える
1

私はあなたが持っていると思います

var id = a.attributeId;

それ以外の

var id = attribute.AttributeId;

AddAttributeToGrid関数定義内

于 2013-08-24T11:32:08.210 に答える