Chartkick图表的通用渲染在铁路

时间:2016-10-25 07:29:10

标签: javascript jquery ruby-on-rails highcharts

在我的应用程序中,我有一个包含多个Chartkick / Highcharts图的页面。为了防止需要太多图表,我想让他们对输入做出响应,然后改变内容。我所做的是设置一个表单选择字段,我希望列图表根据字段中选择的记录而改变。我正在使用jQuery来做到这一点。

现在回答我的问题。在我的js文件中,我无法连接/插入我想渲染的html字符串。有谁知道这样做的好方法?

我曾尝试使用传统的连接,但由于我在字符串中转义javascript,因此无效。如果我对用户ID进行硬编码,那么所有内容都会根据用户的需要进行更新,因此问题就在这里。

以下是我目前在js中的内容:

chart_render.js

var user_id;
user_id = $('#user-select').val();
if (user_id !== "") {
  $('#chart').html("<%= j render 'chart_render', locals: {user_id: --->This is where I need to place the user id<--- } %>");
} else {
  $('#chart').html("<%= j render 'chart_render', locals: {user_id: nil} %>");
}

任何提示都将不胜感激!

编辑:

我最后通过直接使用Highcharts而不是通过Chartkick以及通过数据标记传递所选用户来实现不同的方式。

1 个答案:

答案 0 :(得分:0)

您可以使用"++"连接您的ID,查看我是如何做的。

var user_id;
user_id = $('#user-select').val();
if (user_id !== "") {
    $('#chart').html("<%= j render 'chart_render', locals: {user_id:" + user_id + "} %>");
} else {
    $('#chart').html("<%= j render 'chart_render', locals: {user_id: nil} %>");
}