2016-04-05 13 views
0

Ich verwende jvectormap und ich mag einen Zustand abzuwählen, wenn ich ein anderes wählen, aber ich habe diesen FehlerTypeerror: Die [e] [n] ist nicht definiert, mit jvectomap

TypeError: this[e][n] is undefined.

Dieser Teil ist mein Code:

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

die Variable id ist der Schlüssel des Staates, und in dieser Zeile objMap.setSelectedRegions({old_code:false}) erscheint die Fehler. Was ist los? Hilf mir bitte.

+0

danke @mrust – karlitoz

Antwort

0

In dieser Zeile:

objMap.setSelectedRegions({old_code:false}); 

Hier stellen Sie den Auswahlstatus der "old_code", nicht den Namen eines benannten Region nach dem Wert in dem old_code Variable. Hier sind einige Fixes:

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

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

vielen Dank !, es funktioniert! – karlitoz