如何通过var动态设置国家/地区的颜色?

时间:2012-05-18 10:03:24

标签: javascript jquery jqvmap

有人用过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' });

任何人都知道为什么?

1 个答案:

答案 0 :(得分:7)

因为这不是对象文字的工作方式。键值对中的关键部分被解释为文字字符串。您需要使用bracket-syntax来获得动态密钥名称。就是那个或eval,你不想使用eval

var country_colors = {};
var country_name = 'us';

country_colors[country_name] = '#8EE5EE';

$('#map').vectorMap('set', 'colors', country_colors);