有人使用http://github.com/manifestinteractive/jqvmap/吗?
这些工作:
$('#map').vectorMap('set', 'colors', { us: '#8EE5EE' });
$('#map').vectorMap('set', 'colors', { 'us': '#8EE5EE' });
但是,这没有:
country_name = 'us';
$('#map').vectorMap('set', 'colors', { country_name: '#8EE5EE' });
有人知道为什么吗?
最佳答案
因为那不是对象文字的工作方式。键值对中的键部分被解释为文字字符串。您需要使用方括号语法来获得动态键名。就是eval
或那个,而您不想使用eval
。
var country_colors = {};
var country_name = 'us';
country_colors[country_name] = '#8EE5EE';
$('#map').vectorMap('set', 'colors', country_colors);