javascript - 在面板中的图表和表格之间切换

标签 javascript highcharts datatables

我有一个可以正确呈现到引导面板中的 Highchart。

Highchart 代码

$(function ()  {
var chart1;
$.get('graphdata/a000.txt?x='+microtime(), function(json){
obj = eval('({'+json+'})');
var $container = $('#container');
$(document).ready(function() {
chart = new  Highcharts.Chart(obj)
});
});
});

面板代码

<div id="container" class="panel-body">

我希望能够通过某些按钮或开关将图表和表格(在单独的面板中单独呈现)切换到相同面板

function myTable() {
    $('#table').bootstrapTable({
        data: mydata
    });
};

                          <table id="table" data-height="460"   class="panel-body">
                              <thead>
                                <tr>
                                    <th data-field="id">Item ID</th>
                                    <th data-field="name">Item Name</th>
                                    <th data-field="price">Item Price</th>
                                </tr>
                             </thead>
                         </table>
<小时/>

最佳答案

Highcharts.chart 方法从容器中删除所有元素。您应该为图表和表格创建单独的容器元素,并在函数中切换它们的可见性。示例:http://jsfiddle.net/BlackLabel/aj6ckzs2/

var chart = createChart(),
    table = $("#table"),
    chartContainer = $("#chartContainer");

table.bootstrapTable({
    data: myData
});

$("#toggle").on('click', function() {
    chartContainer.toggle();
    table.toggle();
});

如果您仍然需要将表格直接添加到与图表相同的容器中,则必须使用 Chart.destroy 方法并将表格添加到容器元素中,例如这样:

function createChart() {
    return Highcharts.chart('container', {
        series: [{
            data: [...]
        }]
    });
}

function createTable() {
    var newTable = $("#table").clone(),
        container = $("#container");

    container.append(newTable);
    newTable.show();
    newTable.bootstrapTable({
        data: myData
    });
}

var myData = [...];
var chart = createChart();

$("#toggle").on('click', function() {
    if (chart.series) {
        chart.destroy();
        createTable();
    } else {
        chart = createChart();
    }
});

现场演示:http://jsfiddle.net/BlackLabel/vqpdoynt/

关于javascript - 在面板中的图表和表格之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51698099/

相关文章:

javascript - 如何在 Bootstrap 3 中将 font Awesome 图标置于图像之上?

javascript - 如何从 mongodb 数组中删除损坏的引用?

javascript - DataTables 列、columnDefs 和 rowCallback HTML5 初始化

javascript - 更改隐藏的 div 的滚动

javascript - 检查应用程序是否存在于设备上

javascript - R highcharter 基于值的绘图点颜色

javascript - 使用 HighCharts 在同一图表中显示多个饼图

charts - Highchart - 图例的工具提示

javascript - 多次触发 Jquery 事件

javascript - 当 &lt;script&gt; 放置在文件末尾时,DataTables 不起作用