2012-10-30 51 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