0

没有从萤火虫得到任何错误。没有在任何浏览器中显示。以前工作过,大约一周前停止工作。代码示例...

$(document).ready(function () {
    //Generic names for multiple graphs
    var First = $('#hfFirstOrder').val().split(",");
    var Second = $('#hfSecondOrder').val().split(",");
    var Third = $('#hfThirdOrder').val().split(",");
    var ticks = $('#hfDaysOrder').val().split(",");
    var maxValue = parseInt($('#hfMaxOrder').val());
    var FirstArray = [];
    var SecondArray = [];
    var ThirdArray = [];
    for (i = 0; i < First.length; i++) {
        FirstArray.push(parseInt(First[i]));
        SecondArray.push(parseInt(Second[i]));
        ThirdArray.push(parseInt(Third[i]));
    }
    plotGraph("stackedPurchase", [FirstArray, SecondArray, ThirdArray], true, ticks, "Orders", maxValue, '#000', "Completed",
                '#00F', "Ship/Pick", '#F00', "Back Order");

        function plotGraph(chartName, total, stackBool, tick, yLabel, maxValue, SC1, SL1, SC2, SL2, SC3, SL3) {
        plot = $.jqplot(chartName, total, {
            stackSeries: stackBool,
            seriesDefaults: {
                renderer:$.jqplot.BarRenderer,
                rendererOptions: { barMargin: 20, barWidth: 10 },
                showMarker: false,
                pointLabels: { show: false }
            },
            axes: {
                xaxis: {
                    label: "Days",
                    renderer: $.jqplot.CategoryAxisRenderer,
                    ticks: tick
                },
                yaxis: {
                    label: yLabel,
                    padMin: 0,
                    tickInterval: parseInt(maxValue * .1),
                    min: 0,
                    max: maxValue,
                    tickOptions: { formatString: '%d' }
                }
            },
            series: [{ color: SC1, label: SL1 },
            { color: SC2, label: SL2 },
            { color: SC3, label: SL3 }
        ],
            legend: {
                show: true,
                location: 'e',
                placement: 'outside'
            }
        });
    }
});

然后在 html 中有一个调用

<div id="stackedPurchase" style="height:450px;width:900px;" runat="server"></div>

各种隐藏值是来自后面代码的 csv 字符串。根据萤火虫,它们被正确传递(正确的格式和每个变量的正确数量)。从我最近的编码经验来看,这可能是显而易见的。

4

2 回答 2

0

好吧,找到问题了。显然

parseInt(maxValue * .1)

如果 maxValue 小于 10,则会生气并返回 0,并且 jqplot 不喜欢 0 作为刻度间隔。找到了一种更好的间隔方法,现在一切正常。

于 2011-07-05T14:08:10.057 回答
0

得到了部分答案,前两个图表现在可以工作,因为工作中的其他人在没有通知我的情况下移动了 jqplot 内容所在的文件夹。更改顶部脚本中的地址解决了这个问题。

但是由于某种原因,第三个不起作用。

plotGraph("graphQuote", [FirstArray, SecondArray, ThirdArray], false, ticks, "Quotes", maxValue, '#F00', "Request RFQ", '#00F', "RFQ", '#0F0', "Customer Quote");

SecondArray 全为零值,FirstArray 大部分为零,ThirdArray 在其大部分字段中都有值。蜱有正确的日期。

于 2011-07-05T13:46:22.407 回答