我一直在努力解决这个问题:
我正在尝试为地图添加一些颜色(JQuery Vector Maps)向国家添加颜色的sintax如下(Jquery)
$('#map').vectorMap('set', 'colors', { br: '#CCDDAA' });
$('#map').vectorMap('set', 'colors', { us: '#CCDDAA' });
正如您所看到的,您可以采用这种方法或以下方法:
var gdpData = {"br":"#CCDDAA", "us":"#CCDDAA"};
$('#map').vectorMap('set', 'colors', gdpData);
问题是我的控制器像这样重写JSON信息:
[{"Id":2,"Country":"US","CountryCode":"us"},{"Id":4,"Country":"BR","CountryCode":"br"}]
我有小写的CountryCode很好,我希望在JS端根据某些值设置它。
这就是我所做的:我认为我有两条路径,
首先操纵JSON使其看起来像{"br":"#CCDDAA", "us":"#CCDDAA"};
,但我不知道该怎么做:(
或者逐行调用设置颜色,但这种方法需要没有引号的国家/地区代码。
$.ajax({
dataType: "json",
url: '/Statistics/GetCoutriesListed/',
type: 'GET',
success: function (data)
{
$.each([data], function (index, value)
{
//This is not working of course due to quotes.
$('#map').vectorMap('set', 'colors', value[0].CountryCode: '#CCDDAA');
//And I don't know how to do this :(
$('#map').vectorMap('set', 'colors', { JASON IN CORRECT FORMAT });
});
}
});
处理这个问题的好方法是什么?你有什么想法或建议吗?我对JS,Jquery一点都不强。
谢谢!
答案 0 :(得分:1)
这样的事情怎么样;
$.each([data], function (index, value) {
var f = value[index].CountryCode,
obj = {};
obj[f] = "#CCDDAA";
$('#map').vectorMap('set', 'colors', obj);
});
答案 1 :(得分:1)