2015-01-15 2 views
0

По какой-то причине я не могу установить свойства объекта Javascript, созданного в литеральной форме. Использование PHP для написания кода Javascript. Первая диаграмма Object chartObject1 отображается правильно, но второй график chartObject2 не отображает заголовок, потому что я пытаюсь установить свойство текста заголовка вне определения литерала.Невозможно установить свойство объекта Javascript

Почему он не позволяет мне установить свойство, используя chartObject2.title.text = "chart2"; ??

<?php 
$chart_text = <<<EOD 
<script type="text/javascript"> 

var chartObject1 = Object; 
$(document).ready(function(){ 
    chartObject1 = new Highcharts.Chart({ 

     chart: { 
      renderTo: 'chart1', 
      type: 'bar' 
     }, 
     title: { 
      text: 'chart1' 
      }, 
     xAxis: { 
      categories: ['Apples', 'Bananas', 'Oranges'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Fruit eaten' 
      } 
     }, 
     series: [{ 
      name: 'Jane', 
      data: [1, 0, 4]}, 
      { 
      name: 'John', 
      data: [5, 7, 3]}] 
     }); 
}); 
</script> 
EOD; 
print ($chart_text); 

$chart_text = <<<EOD 
<script type="text/javascript"> 

var chartObject2 = Object; 
$(document).ready(function(){ 
chartObject2 = new Highcharts.Chart({ 

     chart: { 
      renderTo: 'chart2', 
      type: 'bar' 
     }, 
     xAxis: { 
      categories: ['Spiders', 'Grasshoppers', 'Scorpions'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Bugs eaten' 
      } 
     }, 
     series: [{ 
      name: 'Jane', 
      data: [1, 0, 4]}, 
     { 
      name: 'John', 
      data: [5, 7, 3]}] 
    }); 
    chartObject2.title.text = "chart2"; 
    }); 
</script> 
EOD; 
print ($chart_text); 

?> 

ответ

0

потому что это объект Highcharts, вам нужно будет использовать их api для изменения текста. НЕТ:

chartObject2.setTitle({text: "chart2"});