3

我正在尝试使用 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;]
    }
}

运行此代码时地图不显示,我可能完全走错了路。有什么帮助吗?

4

1 回答 1

2

几个问题:

  • 是一个对象,label不会匹配case匹配字符串值的简单语句。您可能想要评估label.text()
  • 中的值case应该被引用字符串(即"North Carolina",不是North Carolina
  • break;不应该被包裹([]你不想要一个数组break,你想打破switch)。
  • 您缺少使用 jQuery ID 选择器)设置的行的关闭.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;
   }
}
于 2012-11-01T01:42:59.880 回答