2016-02-25 3 views
0

Я разрабатываю график, и мне нужно изменить атрибут тега div. У меня нет доступа ко всему коду, поэтому я застрял в использовании JS, без PHP (по-моему, мне это не нужно).Изменить диаграмму seris на теге div с данными из URL

У меня есть следующий DIV:

<div data-serie-data="[4.0,4.0,3.0,4.0,3.0]" id="chartContainer"> 

Я хочу, чтобы заменить-SERIE-данных данных с тем, что я извлечь из следующей функции JS:

$.getJSON('*url*', function(data) { 
    document.write(data.data); 
}); 

Результат от этого:

[5.0,2.0,6.0,1.0,4.0] 

Как заменить текущие данные на этот результат?

Я пытался делать это так:

$.getJSON('*url*', function(data) { 
    document.getElementById("chartContainer").setAttribute("data-serie-data", data.data); 
}); 

Но это не меняет значение. Я также пытался установить другие атрибуты, но это ничего не делает.

Что я делаю неправильно?

+0

Вы убедитесь, что сервер отвечает? – Nadir

+0

Кажется, все ответы вращаются вокруг установки того же самого атрибута, что и вы. Что вам нужно сделать, так это установить атрибут и использовать 'setData' для перерисовки графика, предполагая, что это highcharts – mplungjan

+0

Да, это высокие диаграммы. Глядя на источник, атрибут даже не установлен. Я не уверен, что с этим не так. EDIT: это действительно Highstock, если это имеет значение. – dansan

ответ

-1

использовать следующие

$.getJSON('*url*', function(data) { 
    $('#chartContainer').attr("data-series-data", data.data); 
}); 

если data.data не работает просто использовать данные

+0

, но он работает и отвечает на исходный вопрос OP, поскольку API-интерфейс диаграммы не упоминался первоначально. куры, почему все мы ответили так же. – MasterT

+0

Нет, это ничего не меняет. Вопрос уже установил атрибут данных с помощью DOM. Ничего не изменилось, установив его с помощью jQuery. Вам нужно использовать setData для перерисовки диаграммы – mplungjan

+0

, и теперь, зная API-интерфейс графика, используемый OP, но не зная API, эти ответы все делают то, что было задано. – MasterT

-1

Вы должны использовать метод jQuery.attr().

Попробуйте это:

$.getJSON('*url*', function(data) { 
    $('#chartContainer').attr('data-serie-data', data.data) 
}); 

Вот jsfiddle demo.

+1

такой же, как document.getElementById ("chartContainer"). SetAttribute ("data-serie-data", data.data); – mplungjan

+0

Да, mplungjan, это так. –

Смежные вопросы