2012-10-30 21 views
3

我想创建一个使用JVectorMap的地图,在用户单击给定标记后将信息放到#output div(例如,如果用户点击标记为阿拉斯加的标记,关于阿拉斯加流行的事实在#output div中)。在其他地方就在这里,我已经看到了这个代码示例,它输出标签的名称...OnMarkerClick和JVectorMap

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;] 
    } 
} 

地图当我运行这个代码时不会显示,我可能完全在错误的轨道上。任何帮助?

回答

2

几个问题:

  • label是一个对象,将不匹配简单case语句匹配的字符串值。您可能要评估对label.text()
  • 值在case应该是带引号的字符串(即"North Carolina",不North Carolina
  • break;不应该被包裹在[](你不想要的break一个数组,你想打破switch)。
  • 你缺少的线收盘)设置.html() jQuery的ID选择

更正例如:

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; 
    } 
} 
+0

这就是门票!感谢您指点我正确的方向! – wbprice