为什么图表不能与Bootstrap Modal一起使用?

时间:2017-03-12 15:43:31

标签: javascript jquery twitter-bootstrap bootstrap-modal chart.js

这是Modal我用来制作弹出模式中的饼图。

HTML代码:

<div class="modal fade" id="viewPollingModal" tabindex="-1" role="dialog" aria-labelledby="viewPollingModal" aria-hidden="true" >
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
        <h4 class="modal-title" id="myModalLabel">Survey</h4>
      </div>
      <div class="modal-body">
        <h3 id="appendQuestion"></h3>
        <canvas id="pieChart" style="height:250px"></canvas>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

JAVASCRIPT代码:

$("#rpt-table").on('click', ".viewSurvey", function() {
  event.preventDefault();
  var id = parseInt($(this).attr('attr'));
  url = '{{ route("surveyResult", ":id") }}';
  url = url.replace(':id', id);
  $.get(url, function(data, status){
    $('#appendQuestion').html(data.poll_questions.Question);
    $('#viewPollingModal').modal('toggle');
    $("#modal").on('shown.bs.modal', function() {
      var pieChartCanvas = $("#pieChart").get(0).getContext("2d");
      var pieChart = new Chart(pieChartCanvas);
      var PieData = [
            {
              value: 700,
              color: "#f56954",
              highlight: "#f56954",
              label: "Chrome"
            },
            {
              value: 500,
              color: "#00a65a",
              highlight: "#00a65a",
              label: "IE"
            }
      ];
      var pieOptions = {
            segmentShowStroke: true,
            segmentStrokeColor: "#fff",
            segmentStrokeWidth: 2,
            percentageInnerCutout: 50,
            animationSteps: 100,
            animationEasing: "easeOutBounce",
            animateRotate: true,
            animateScale: false,
            responsive: true,
            maintainAspectRatio: true,
            legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>"
      };
      pieChart.Doughnut(PieData, pieOptions);
    });
  });
});

饼图无法使用Bootstrap模式(弹出窗口),即使我正在使用&quot; shows.bs.modal&#39;。 没有模态,它工作正常。

提前致谢

1 个答案:

答案 0 :(得分:0)

在线$("#modal").on('shown.bs.modal', function() { ... });,HTML中没有匹配元素id="modal"尝试将$("#modal").on('shown.bs.modal', ...更改为$("#viewPollingModal").on('shown.bs.modal'...