TypeError:使用jvectomap未定义此[e] [n]

时间:2016-04-05 15:48:18

标签: javascript jvectormap

我正在使用jvectormap,我想在选择其他状态时取消选择状态,但是我有这个错误

  

TypeError:此[e] [n]未定义。

这是我的代码的一部分:

Selector2 = {
colorBlank : 'white',
selectedColor : '#0D88BC',
oldcode: '',

disable:function(old_code,objMap){
    old_code = String(old_code);
    objMap.setSelectedRegions({old_code:false});
},
select:function(id){
    var mapObj = jQuery('#states-area').vectorMap('get', 'mapObject');
    if(this.oldcode.length != 0){
        _code = this.oldcode;
        this.disable(_code,mapObj);
    }       
    this.oldcode = id;
    stateCode = id;
},

变量id是州的密钥,在此行中objMap.setSelectedRegions({old_code:false})出现错误。 怎么了?请帮帮我。

1 个答案:

答案 0 :(得分:0)

在这一行:

objMap.setSelectedRegions({old_code:false});

在此设置名为"old_code"的区域的选择状态,而不是以old_code变量中的值命名的区域。以下是一些修复:

// ES6
objMap.setSelectedRegions({[old_code]:false});

// or ES5
var temp = {};
temp[old_code] = false;
objMap.setSelectedRegions(temp);