9 лет назад
Гуру, просыпаемся, давайте валите меня грязью.=)
Вопрос такой, есть ajax запрос который отправляет при клике на ссылку переменную id в файл обработчик, файл обработчик получает это всё и формирует нужный мне массив (с этим проблем нет массив получается и отправляется обратно). Вот сам код
function go_stata(id) {
$.post('/stata', {'func' : 'go_stata', 'id' : id}, function(data, requestStatus) {
if ( data['status'] != '0' ) {
$.each(data['stata'], function(index, msg_array) {
var chart;
var chartData_id = [
{
"country": "Пн",
"visits": msg_array['pn']
},
{
"country": "Вт",
"visits": msg_array['vt']
},
{
"country": "Ср",
"visits": msg_array['sr']
},
{
"country": "Чт",
"visits": msg_array['ch']
},
{
"country": "Пт",
"visits": msg_array['pt']
},
{
"country": "Сб",
"visits": msg_array['sb']
},
{
"country": "Вс",
"visits": msg_array['vs']
},
];
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData_id;
chart.categoryField = "country";
chart.startDuration = 1;
// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.labelRotation = 90;
categoryAxis.gridPosition = "start";
// value
// in case you don't want to change default settings of value axis,
// you don't need to create it, as one value axis is created automatically.
// GRAPH
var graph = new AmCharts.AmGraph();
graph.valueField = "visits";
graph.balloonText = "[[category]]: [[value]]
34;;
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 0.8;
chart.addGraph(graph);
// CURSOR
var chartCursor = new AmCharts.ChartCursor();
chartCursor.cursorAlpha = 0;
chartCursor.zoomable = false;
chartCursor.categoryBalloonEnabled = false;
chart.addChartCursor(chartCursor);
chart.creditsPosition = "top-right";
chart.write('chartdiv_'+id+''&
#41;;
});
$('#stata').prepend('
');
});
}
}, "json");
}
Затем я получаю мой массив и разбиваю его. потом вставляю данные в график и по сути должен при клике открыться , он и открывается, но график в нём не отображается.=( Возможно это не правильное решение моей задачи.
Поясню задачу, нужно для каждого элемента вывести свой график, можно конечно сделать без подгрузки из стороннего файла, но если элементов много то страница значительно нагрузиться от большого кол-ва ajax кода.