Гистограмма Html добавляет выбор радиокнопок для итогов - PullRequest
0 голосов
/ 26 февраля 2020

Я использую диаграмму из кода 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...