2013-03-16 2 views
2

Я пытаюсь передать исходные данные из полей ввода в простую диаграмму jqPlot при загрузке страницы.Передача переменных в диаграммы jqPlot

Используя стандартный синтаксис, jqPlot работает нормально. Например:

var plot1 = $.jqplot ('chart1', [[1,2,3,4,]]); 

Использование переменной заставляет диаграмму, в лучшем случае, реагировать только на первое целое число в переменной. Я думаю, что я близок и подозреваю, что это проблема с числовым значением/строковым качеством Var.

Я на деньги здесь или я пытаюсь сделать что-то, что невозможно?

HTML:

<div class="dataforchart"> <!-- VALUES --> 
<input type="text" value="5"> 
<input type="text" value="2"> 
<input type="text" value="8"> 
<input type="text" value="1"> 
</div> 
<div id="chart1"> <!-- CHART --> 
</div> 

Сценарий:

$('.dataforchart').each(function(){ 

str = ''; 
$(this).children("input").each(function() { 
str = str + ', ' + $(this).val(); 
}); 

alert(str); 
var plot1 = $.jqplot ('chart1', [[str]]); 

}); 

я нашел очень похожие проблемы на SO, но я не нашел рабочего раствора.

Обновление: Я сделал демо, если кто-нибудь хотел бы проверить: http://jsfiddle.net/fdKRw/3/

ответ

2

это массив, а не строка, так что просто дать ему массив точек:

... 
var points = []; 
$(this).children("input").each(function(index) { 
    points[index] = $(this).val(); 
}); 

var plot1 = $.jqplot('chart1',[points]); 

обновленный скрипку : http://jsfiddle.net/fdKRw/4/

+0

спасибо, это замечательно. –

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