Как построить диаграмму на основе значений входных данных текстового поля? - PullRequest
0 голосов
/ 08 марта 2011

У меня есть страница с 10 текстовыми полями, которые динамически заполняются в зависимости от того, какие данные использовались на предыдущей странице.

Я хочу отобразить эти значения на простой гистограмме. Я настроил jqPlot, да, я не могу заставить его работать. Возможно ли, что кто-то может взглянуть на 2-ю страницу здесь и сообщить мне, как вызвать входные значения текстового поля для построения гистограммы?

http://www.beatinganger.com/stress-test

Это было бы очень ценно.

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Мне кажется, это работает:

jQuery(function($) {
    var ticks = [], vals = [];
    $('#edit-submitted-physical-state, #edit-submitted-mental-state, #edit-submitted-feelingso-of-belonging, #edit-submitted-feelings-of-justice, #edit-submitted-feeings-of-integrity, #edit-submitted-weight-management, #edit-submitted-emotional-ease, #edit-submitted-feelings-of-stimulation, #edit-submitted-feelings-of-justice, #edit-submitted-feelings-of-relationsip')
        .each(function(i, el) {
            vals.push(Number(el.value));
            ticks.push($('label[for="'+el.id+'"]').text().replace('Feelings of ', '').replace(': ', ''));
        });

    var plot1 = $.jqplot('chart1', [vals], {
        seriesDefaults: {
            renderer: $.jqplot.BarRenderer
        },
        axes: {
            xaxis: {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: ticks
            }
        }
    });
});

Я перебираю все поля и помещаю значение каждого в массив vals.Помните, jQuery .val() возвращает только значение первого соответствующего элемента.Я также использую Number(), чтобы убедиться, что это числа, а не строки.

Возможно, вы захотите сделать что-то еще с ticks - я просто вводю числа.1011 * Я бы порекомендовал вам установить специальный класс для всех текстовых полей, которые вы хотите прочитать, а затем ссылаться на них с этим классом вместо использования идентификаторов.Тогда строка 3 выше будет выглядеть просто:

$('.special_class_here').each(function(i, el) { 
0 голосов
/ 08 марта 2011

Я думаю, вы просто передаете идентификаторы anwsers, а не значение. Вам необходимо пройти

$("edit-submitted-mental-state").val()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...