[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача массив в скрипт
Betcoll
Добрый день. Хочу использовать библиотеку Morris для построения графиков. Вывожу диаграмму в соответствии с мануалом:

  function showWindowReport() {
Morris.Donut({
element: 'graph',
data: [
{value: 70, label: 'Выигрыш'},
{value: 15, label: 'Проигрыш'},
{value: 10, label: 'Возврат'},
{value: 5, label: 'Не расчитана'}
],
formatter: function (x) { return x + "%"}
}
).on('click', function(i, row){
console.log(i, row);
});
}


Но как правильно в этот скрипт передать параметры в data, если пользователь может менять настройки диаграммы? Спасибо.
Kusss
через переменную.
  var data = [ ... ];

function showWindowReport() {
Morris.Donut({
element: 'graph',
data: data,
formatter: function (x) { return x + "%"}
}
).on('click', function(i, row){
console.log(i, row);
});
}
Betcoll
Kusss

А если я получил массив путем отправки AJAX-запроса в файл, где выполняется запрос и формируется массив?

Вот часть php-скрипта, где я делаю массив:

  $n = array($bet_inplay, $bet_win, $bet_lose, $bet_back);

$percent_inplay = round((100*$bet_inplay)/$all);
$percent_win = round((100*$bet_win)/$all);
$percent_lose = round((100*$bet_lose)/$all);
$percent_back = round((100*$bet_back)/$all);
$m = array($percent_inplay, $percent_win, $percent_lose, $percent_back);

$mas = array('value'=>$m,'label'=>$n;);


как мне правильно передать полученный массив в ту функцию формирования диаграммы.
Betcoll
Там у меня ; в массиве, но я ее убрал rolleyes.gif
sergeiss
Betcoll, коли тебе с массивом работать надо на клиентской стороне, то там и ищи этот массив. Если ты его передал туда. Аяксом. Где у тебя код, принимающий данные в JS?


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Betcoll
sergeiss
я лишь новичок, поэтому строго не судить

  function getReport() {

data_1 = document.getElementById('data_for').value;
data_2 = document.getElementById('data_to').value;
id_a = "<?=$user['id']?>";

link = 'do_report_bets_general.php?data_1='+data_1+'&data_2='+data_2+'&id_a='+id_a;
alert(link);

var http = createRequestObject();
if( http )
{
http.open('get', link);
http.onreadystatechange = function ()
{
if(http.readyState == 4)
{
if (http.responseText != 0)
{
[b]//ВОТ ТУТ ПОЛУЧАЮ ИЛИ ДОЛЖЕН ПОЛУЧАТЬ :-)[/b]
}
}
}

http.send(null);
}
else
{
document.location = link;
}

}

Эли4ка
Получайте в json виде и все
sergeiss
Betcoll, я предлагаю тебе разобраться с jQuery. Там всё проще будет, чем на "чистом" JS. Да и примеров кучу найдешь в тырнете. В том число и про json, о коем Эли4ка говорит.

В итоге у тебя будет код в несколько строк.

Для начала вот тут глянь https://jquery-docs.ru/get/

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.