0

javascriptの変数を使用して特定のオブジェクトにアクセスするのに問題があります。これが私が使っているコードです:

global_grouplist = getTenantGroupList();
console.log(global_grouplist)
var currentgroup = getSelectedGroupName();
console.log(currentgroup)
console.log(global_grouplist.currentgroup);

'global_grouplist'はオブジェクトの大きな配列を返し、そこから特定の値を取得したいと思います。currentgroupが等しくなる値を取得し、次のように実行すると、次のようになります。

console.log(global_grouplist.actualvalue)

それは私が欲しいものを私に与えます。しかし、私がこれを行うとき。

var currentgroup = actualvalue
console.log(global_grouplist.currentgroup)

これはgetTenantGroupList()関数です。

function getTenantGroupList(){
    return jQuery.parseJSON($.ajax({
            url: 'tenantgrouplist.json',
            dataType: 'json',
            async: false
    }).responseText);
}

そして、これがgetSelectedGroupName関数です。

function getSelectedGroupName(){
        var retval = null;
        $('#grouplist li a').each(function(){
            if($(this).parent().hasClass('group-selected'))
                retval=$(this).html();
        });
        return retval;
    }

それは動作しません。私がここで見逃している基本的なものはありますか?さらに詳しい情報が必要な場合は、お知らせください。

4

2 に答える 2

2

この行で

var currentgroup = actualvalue

actualvaluetoの現在の値を与えており、currentgroup両方の要素が同じプロパティを指すようにしないでください!

currentgroup変数のプレースホルダーとして使用する場合は、代わりにこれを使用する必要があります。

var currentgroup = 'actualvalue';
console.log(global_grouplist[currentgroup]);

このようにして、目的のプロパティの名前を文字列として割り当て、currentgroupブラケット表記を使用してオブジェクトのそれぞれのプロパティにアクセスします。

于 2012-11-07T13:19:12.530 に答える
1

この方法でプロパティにアクセスするには、配列表記を使用する必要があります。これを試して:

var currentgroup = getSelectedGroupName(); // Returns a string like: 'actualvalue';
console.log(global_grouplist[currentgroup])
于 2012-11-07T13:18:15.193 に答える