Я использую диаграмму из кода CSV (источник: Холст js). Я хотел бы добавить переключатели под каждой полосой и иметь «общее» где-то на странице.
Пока я нашел этот пример (источник введите описание ссылки здесь ) но я понятия не имею, как объединить эти два. Важно обновлять итоговые данные в реальном времени, но никаких дальнейших шагов с точки зрения обработки данных не требуется.
Код, который читает файл CSV и отображает диаграмму:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function() {
var dataPoints = [];
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
title: {
text: "Tuna Production"
},
axisY: {
title: "in metric tons",
includeZero: false
},
data: [{
type: "column",
toolTipContent: "{y} metric tons",
dataPoints: dataPoints
}]
});
$.get("https://canvasjs.com/data/gallery/jsp/tuna-production.csv", getDataPointsFromCSV);
//CSV Format
//Year,Volume
function getDataPointsFromCSV(csv) {
var points;
var csvLines = csv.split(/[\r?\n|\r|\n]+/);
for (var i = 1; i < csvLines.length; i++) {
if (csvLines[i].length > 0) {
points = csvLines[i].split(",");
dataPoints.push({
label: points[0],
y: parseFloat(points[1])
});
}
}
chart.render();
}
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 370px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>
И код выбора:
<script type="text/javascript">
$(document).ready(function() {
$(".my-activity").click(function(event) {
var total = 0;
$(".my-activity:checked").each(function() {
total += parseInt($(this).val());
});
if (total == 0) {
$('#amount').val('');
} else {
$('#amount').val(total);
}
});
});
</script>
<p>
<strong>Food</strong> <br />
<select class="myactivity" name="activity['food'][]" multiple="multiple">
<option value="5">Breakfast (US$ 5)</option>
<option value="10">Lunch (US$ 10)</option>
<option value="15">Dinner (US$ 15)</option>
</select>
</p>
<p>
<strong>Entertainment</strong> <br />
<select class="myactivity" name="activity['entertainment']">
<option value="0">Please Select</option>
<option value="5">Swimming (US$ 5)</option>
<option value="10">Movie (US$ 10)</option>
<option value="15">Sight Seeing (US$ 15)</option>
</select>
</p>
<p>
<strong>Amount (US$)</strong>: <input type="text" name="amount" id="amount" />
</p>