1

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' });

理由を知っている人はいますか?

4

1 に答える 1

7

それはオブジェクトリテラルがどのように機能するかではないからです。キーと値のペアのキー部分は、リテラル文字列として解釈されます。動的なキー名を持つには、ブラケット構文を使用する必要があります。それは またはevalであり、 を使用したくありませんeval

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

country_colors[country_name] = '#8EE5EE';

$('#map').vectorMap('set', 'colors', country_colors);
于 2012-05-18T20:17:49.210 に答える