2017-06-09 7 views
1

ここで私はデータを持つテーブルを持っています。最初のテーブルの行をクリックすると、その値に関連付けられたグラフが表示されます。それは大丈夫だ。データベースの結果に応じて折り畳みテーブルの行を切り替える方法

しかし、問題は、最初の行をクリック/トグルするとデータが表示されますが、他の行はグラフの最初の行が表示されないことを示すことができません。ここで

は私のjqueryのコードはここにここに私のhtmlコード

<div class="row"> 
     <div class="container"> 
     <table class="table table-hover"> 
    <thead> 
     <th>year</th> 
     <th>Performance</th> 
     <th>profit</th> 
    </thead> 

    <tbody> 
    <?php 
foreach($data as $value) 
{ ?> 
     <tr data-toggle="collapse" onclick="change_acc(<?php 
    echo $value['year']; ?>)" data-target="#accordion<?php 
    echo $value['year']; ?>" class="clickable"> 
      <td><?php 
    echo $value['year'] . "<input type='hidden' id='acc_id' value='" . $value['year'] . "'>"; ?></td> 
      <td></td> 
      <td><?php 
    echo $value['totalsum']; ?></td> 
     </tr> 
     <?php 
} ?> 
     <tr> 
      <td colspan="3"> 
       <div id="accordion" class="collapse"> 

       <select id="selFromYear"> 
      <option value="1">January</option> 
      <option value="2">Fabuary</option> 
      <option value="3">March</option> 
      <option value="4">April</option> 
      <option value="5">May</option> 
      <option value="6">June</option> 
      <option value="7">July</option> 
      <option value="8">August</option> 
      <option value="9">September</option> 
      <option value="10">October</option> 
      <option value="11">November</option> 
      <option value="12">December</option> 
     </select> 
     <select id="selToYear"> 
      <option value="1">January</option> 
      <option value="2">Fabuary</option> 
      <option value="3">March</option> 
      <option value="4">April</option> 
      <option value="5">May</option> 
      <option value="6">June</option> 
      <option value="7">July</option> 
      <option value="8">August</option> 
      <option value="9">September</option> 
      <option value="10">October</option> 
      <option value="11">November</option> 
      <option value="12">December</option> 
     </select> 
     <button onclick="getAnalytics()">Get Analytics</button> 
     <button onclick="getLiteAnalytics(3)">Get 3 Months</button> 

     <button onclick="getLiteAnalytics(3)">All data</button> 
     <div id="chart-container"> 
      <canvas id="mycanvas"></canvas> 
     </div> 
       </div> 
      </td> 
     </tr> 
    </tbody> 
</table> 
</div> 
</div> 

が助けてくださいそのグラフenter image description here

とテーブルのスクリーンショットです

function change_acc(acc_id){ 

$('#accordion').attr('id','accordion'+acc_id); 

$.ajax({ 
    url: "<?php base_url();?>/charts/getsome", 
    method: "POST", 
     data: { 
      graphYear:acc_id 
     }, 
    success: function(data) { 
     // alert(data); 
     var data = JSON.parse(data); 
     var month = []; 
     var customers = []; 
     // var margin = []; 

     for(var i in data) { 
      month.push("" + data[i].dated); 
      customers.push(data[i].profit); 
      // margin.push(data[i].margin); 
     } 
     var chartdata = { 
      labels: month,    
      datasets : [ 
       { 
        label: 'monthly customers for Year '+acc_id, 
        backgroundColor: 'rgba(200, 200, 200, 0.75)', 
        borderColor: 'rgba(200, 200, 200, 0.75)', 
        hoverBackgroundColor: 'rgba(200, 200, 200, .45)', 
        hoverBorderColor: 'rgba(200, 200, 200, 1)', 
        data: customers, 
        fill: true 
       } 

      ] 

     }; 

     var frame = $("#mycanvas"); 

     var barGraph = new Chart(frame, { 
      type: 'line',    
      data: chartdata   
     }); 
    }, 
    error: function(data) { 
     console.log(data); 
    } 
}); 

です私は、どこが間違っていますか?おかげ

+0

あなたのデータターゲット= "#アコーディオン" の例を持っています1つのtrのためだけに。各trにはそれぞれ独自のターゲットが必要です。 #accordion2005、#accordion2008など – tech2017

+0

私は答えを得ました。ありがとう –

答えて

関連する問題