javascript - 单击折线图中的单个点但不单击条形图中的单个条时显示 Bootstrap 模式

标签 javascript html twitter-bootstrap chart.js

我试图在单击图表 js 中的各个栏而不是工具提示时显示 Bootstrap 模式。

我编写了用于在单击折线图中的特定 x 值时显示 Bootstrap 模式的代码。但是当我将 linecchart 更改为具有相同数据集的条形图时,它不适用于条形图。据我所知,差异黑白线图和条形图是图形表示和可视化。如有不妥请指正。

图像文件:

Screenshot of output which i explained above

HTML:

<div class="chart1">
    <canvas id="chart" width="300" height="150"></canvas>
</div>

<!-- Modal -->
  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <h4 class="modal-title" id="myModalLabel">Modal title</h4>
        </div>
        <div class="modal-body">
         You clicked in June
       </div>
       <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        You clicked in May
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          <button type="button" class="btn btn-primary">Save changes</button>
        </div>
      </div>
    </div>
  </div>

JavaScript :

  <script type="text/javascript">

   var data = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [{
      label: "My First dataset",
      fillColor: "rgba(220,220,220,0.2)",
      strokeColor: "rgba(220,220,220,1)",
      pointColor: "rgba(220,220,220,1)",
      pointStrokeColor: "#fff",
      pointHighlightFill: "#fff",
      pointHighlightStroke: "rgba(220,220,220,1)",
      data: [65, 59, 80, 81, 56, 55, 40]
    }, {
      label: "My Second dataset",
      fillColor: "rgba(151,187,205,0.2)",
      strokeColor: "rgba(151,187,205,1)",
      pointColor: "rgba(151,187,205,1)",
      pointStrokeColor: "#fff",
      pointHighlightFill: "#fff",
      pointHighlightStroke: "rgba(151,187,205,1)",
      data: [28, 48, 40, 19, 86, 27, 90]
    }]
  };

  var canvas = document.getElementById("chart");
  var ctx = canvas.getContext("2d");
  var chart = new Chart(ctx).Line(data, {
    responsive: true
  });


  canvas.onclick = function(evt) {
    var points = chart.getPointsAtEvent(evt);
    var value = chart.datasets[0].points.indexOf(points[0]);
    if(value == 5){
      $('#myModal').modal('show');
    } else if(value == 4){
      $('#myModal1').modal('show');
    }


  };

</script>

此代码在 Linechart 中工作得很好,但我想在 Barchart 中使用相同的代码,但我试过但没有得到输出。

最佳答案

使用 getBarsAtEvent 而不是 getPointsAtEvent

关于javascript - 单击折线图中的单个点但不单击条形图中的单个条时显示 Bootstrap 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35100003/

相关文章:

javascript - 从本地驱动器加载图像

javascript - React中如何将数据从子组件发送到父组件

javascript - 应该卸载 javascript 脚本吗?

html - 如何在可滚动 div 的顶部和底部隐藏阴影,或者隐藏在它们各自的末端

css - 使用 CSS 实现图像查看器

javascript - 如何在 Firebase 表上进行联接

javascript - HTML、JS 和 CSS 如何协同工作

javascript - document.querySelectorAll 与 div.style 一起不起作用

html - 为什么<p>和样式显示:block not working?

twitter-bootstrap - 如何在 Bootstrap Table 中添加 Bootstrap 按钮