Ajax 结果和动态 div 上的高图表错误 13



我试图找到一个解决方案,为什么我的代码不适用于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/

最新更新