如何在方法中传递变量?我试图访问与按钮id变量关联的json字典

时间:2017-06-20 01:08:53

标签: javascript json

我使用javascript映射库制作网络地图。

我有按钮可以打开/关闭不同的图层和底图。按下按钮时,会将唯一的buttonId传递给此功能。从那里开始,我想引用一个json字典,它可以为相关的buttonId提取图层和底图,并在地图上显示这些信息。

在下面的示例代码中,obj.name.buttonId.show存在问题,而obj.name.button1.show会返回有效值。我该如何解决这个问题?换句话说,如何在方法中传递变量buttonId以检索其参数? 代码:

function(arg) { 

    var json = '{"name":{"button1": {"show": "streets", "basemap": "dark-gray"}, "button2": {"show": "railroads", "basemap": "terrain"}, "button3": {"show": "rivers", "basemap": "terrain"} }}';
    var obj = dojo.fromJson(json);
    buttonId = arg.target.id

        if (obj.name == buttonId){
            this.map.getLayer(obj.name.buttonId.show).show()
            this.map.setBasemap(obj.name.buttonId.basemap) 
        else
            pass
};

我试图避免为每个按钮编写if / then语句,因此我采用这种方法。

0 个答案:

没有答案