Jquery 如何基于textfield输入值构建图表?

Jquery 如何基于textfield输入值构建图表?,jquery,charts,Jquery,Charts,我有一个包含10个文本字段的页面,根据用户在上一个页面上输入的内容动态填充 我想在一个简单的条形图中显示这些值。我已经设置了jqPlot,是的,我似乎无法让它工作。是否有人可以看一下第二页,让我知道如何调用textfield输入值来构建条形图 非常感谢。我认为您只是传递了Anwser的ID,而不是值。你需要通过考试 $("edit-submitted-mental-state").val() 这似乎对我有用: jQuery(function($) { var ticks = [],

我有一个包含10个文本字段的页面,根据用户在上一个页面上输入的内容动态填充

我想在一个简单的条形图中显示这些值。我已经设置了jqPlot,是的,我似乎无法让它工作。是否有人可以看一下第二页,让我知道如何调用textfield输入值来构建条形图


非常感谢。

我认为您只是传递了Anwser的ID,而不是值。你需要通过考试

$("edit-submitted-mental-state").val()

这似乎对我有用:

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()
来确保它们是数字而不是字符串

你可能会想用
滴答声做些别的事情
——我只是在输入数字

我建议您在所有要读取的文本字段上设置一个特殊类,然后使用该类引用它们,而不是使用ID。那么上面的第3行将简单地读作:

$('.special_class_here').each(function(i, el) { 

jqplot.categoryAxisRenderer.js不存在。你可能想先解决这个问题。谢谢,这让这个例子起作用了,现在我似乎无法调用文本字段的值。酷,不用担心,我已经勾选了框。Thanx macarthy-我尝试过这个,但它没有生成图表。我完全不知所措!不管怎样,谢谢你。哈哈哈,我现在已经想好了,只是想找到一个解决办法:)先生,你真是个天才。已经很晚了,我的身心都很感谢你!!!如果您有时间,还有一个问题-如何在水平轴上将适当的标签指定给值?现在,只有数字。无论如何,即使你不能告诉我,非常感谢你,我可以睡得很安稳!你想让axis标签说什么?身体、心理、情感、体重、归属感、公正、刺激等,只要它们与适当的值相对应-这样用户就可以看到它是什么。再次感谢markI编辑了我的答案,把标签放进去;然而,这张图表似乎太小,他们无法适应。我想你可以从这里找到答案。