我正在尝试使用JVectorMap创建一个地图,该地图会在用户点击给定标记后将信息输入#output div(例如,如果用户点击标记为Alaska的标记,则有关Alaska的信息会弹出#output div)。在这里的其他地方,我已经看到了这个代码示例,它输出了标签的名称......
onMarkerLabelShow: function(event, label, code) {
$("#output").html("Some information about "+ label.html());
}
我正在尝试在这里使用开关......
onMarkerLabelShow: function(event, label, code) {
switch (label) {
case Alaska:
$("#output").html($("#alaska-facts");
[break;]
case North Carolina:
$("#output").html($("#nc-facts");
[break;]
default:
$("#output").html("Please select a job site");
[break;]
}
}
当我运行此代码时,地图不会显示,而我可能完全在错误的轨道上。有什么帮助吗?
答案 0 :(得分:2)
有几个问题:
label
是一个对象,与匹配字符串值的简单case
语句不匹配。您可能希望对label.text()
case
中的值应引用字符串(即"North Carolina"
,而不是North Carolina
)break;
不应该包含在[]
中(您不希望数组break
,您想要突破switch
)。)
的行的结束.html()
更正示例:
onRegionLabelShow: function(event, label, code) {
switch (label.text()) {
case "Alaska":
$("#output").html($("#alaska-facts"));
break;
case "North Carolina":
$("#output").html($("#nc-facts"));
break;
default:
$("#output").html("Please select a job site");
break;
}
}