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>
とテーブルのスクリーンショットです
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);
}
});
です私は、どこが間違っていますか?おかげ
あなたのデータターゲット= "#アコーディオン" の例を持っています1つのtrのためだけに。各trにはそれぞれ独自のターゲットが必要です。 #accordion2005、#accordion2008など – tech2017
私は答えを得ました。ありがとう –