2016-04-05 2 views
0

Я использую jvectormap, и я хочу, чтобы отменить состояние, когда я выбираю другой, но у меня есть эта ошибкаTypeError: это [е] [п] не определено с помощью jvectomap

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

Это часть моего код:

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}) появляется сообщение об ошибке. Что случилось? Помоги мне, пожалуйста.

+0

спасибо @mrust – karlitoz

ответ

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); 
+0

Большое вам спасибо !, он работает! – karlitoz

Смежные вопросы