0

我正在尝试实现 jqvmap 并选择和着色多个区域。如何将 Rails 中的变量传递到这个 javascript 中,以便“selectedRegions”变量起作用?我尝试了无数次,但似乎无法让 JS 正确读取变量。

JS代码:

<script type="text/javascript">
  jQuery(document).ready(function() {
    var areas1=['CA','US'];
      jQuery('#vmap').vectorMap({ 
        map: 'world_en',
        selectedColor: '#FFC864',
        selectedRegions: areas1

      });
  });
  </script>

selectedRegions 变量需要采用格式:['CA', 'US'],但是当我从 Rails 辅助方法中传递这种格式时,它不起作用。任何有一些想法的 JS 专家将不胜感激!

4

1 回答 1

0

假设您的控制器看起来像这样:

def show
  # set an instance variable in the controller
  @areas1 = [ 'CA', 'US' ]

  # render code....
end

在您的 selectedRegions 视图中(假设它在 erb 页面中)可能只是

<script type="text/javascript">
jQuery(document).ready(function() {
  var areas1=['CA','US'];
    jQuery('#vmap').vectorMap({ 
      map: 'world_en',
      selectedColor: '#FFC864',
      selectedRegions: [<%= @areas1.map {|str| "'#{ str }'" }.join(',') %>]
    });
});
</script>
于 2014-11-12T22:03:15.280 回答