我试图找到一个解决方案,为什么我的代码不适用于Highcharts。以下代码会导致错误 # 13,找不到元素。
我正在创建元素<div id="_CPID_Chart_' + cpid +'"></div>
从 Ajax 结果返回数据并将其附加到 td。
我知道这有一个简单的答案,但我一直在寻找答案,但什么也没出现。
request.done(function(data) {
ajaxData = data;
$(function() {
$('tr#_CPID_' + cpid + ' td').html(''+
' <div class="row">'+
' <div class="col-8">'+
' <div class="contentDiv">'+
' <div><p>Cross Project ID:</p>'+ ajaxData['details']['cpid'] + '</div>'+
' <div><p>Also Known As:</p>' + ajaxData['details']['name'] + '</div>'+
' </div>'+
' </div>'+
' <div class="col-8"><div id="_CPID_Chart_' + cpid + '" style="height: 400px; min-width: 310px;"></div>'+
' </div>'+
' ');
Highcharts.stockChart('#_CPID_Chart_' + cpid, {
rangeSelector: { selected: 1 },
title: { text: 'CPID Chart for ' + cpid },
series: [{ name: cpid, data: ajaxData['magnitude'], tooltip: { valueDecimals: 8 } }]
});
});
});
我还测试了div 实际上在那里并且使用以下代码$('#_CPID_Chart_' + cpid).html('Test');
而不是 Highcharts.stockChart 代码,并且它可以正常工作。
我想我错过了一些关于Highcharts如何呈现其数据的内容。
您收到错误 #13 (https://www.highcharts.com/errors/13(,因为您使用的是Highcharts.stockChart('#_CPID_Chart_' + cpid, {...});
而不是使用Highcharts.stockChart('_CPID_Chart_' + cpid, {...});
。查看下面更正的演示。
示例:
http://jsfiddle.net/ueaguauh/