1

このコードは2つのシナリオで使用されています.1つはHTMLの読み込み、もう1つはドロップダウンアイテムの変更です。ページの読み込みのシナリオはajax呼び出しのない同じコードです。ドロップダウンのシナリオでは、以下のコードで説明されているようにAjax呼び出しを使用しています。
ページ読み込みシナリオではエラーは発生せず、棒グラフが正しく表示されます。ドロップダウンAjaxシナリオでは、「プロットするデータがありません」というエラーが表示されます。

  $.jqplot.config.enablePlugins = true;
    $("#CategoryList").change(function () {

        var url = '<%= Url.Content("~/") %>' + "Home/GetExpenseSummaryByMonthByCategoryID";
        var ddlsource = $("#CategoryList").val();

        $.getJSON(url, { CatID: ddlsource }, function (data) {

            var label = 'Test Control';
            var ticksString = '<%=((List<TPS.PFM.Application.Contract.DataTransferObjects.BarChartDTO>)ViewData["BarCharts"])[1].Ticks%>'.split(',');

            data2[1] = new Array();
            data3[1] = new Array();
            $.each(data, function (index, optionData) {
                data2[1].push(optionData.Value);
                data3[1].push(optionData.Name);
            });
            try {
                plot1 = $.jqplot('BarChartControl3', data2[1], {

                    title: label,
                    animate: true,
                    seriesDefaults: {
                        renderer: $.jqplot.BarRenderer,
                        pointLabels: {
                            show: true
                        },
                        rendererOptions: { fillToZero: true }
                    },
                    series: getLabels(data3[1]),
                    legend: {
                        show: true,
                        placement: 'outsideGrid'
                    },

                    axes: {
                        xaxis: {
                            renderer: $.jqplot.CategoryAxisRenderer,
                            ticks: ticksString
                        },
                        yaxis: {

                            tickOptions: { formatString: 'Rs%d' }
                        }
                    }
                });

            }
            catch (Err) {
                alert(Err.message);
            }

        });
    });

ページの読み込み時に同じコードで棒グラフが正常に表示されているため、困惑していますが、ajax呼び出しでは、棒グラフが更新されません。data2とdata3をそれぞれ使用した後、アラートの正確な内容は次のとおりです。-data2 [1]データは次のとおりです:-0,0,0,0,1000,0,0,0,0,0,2010,0 data3 [1]データはこれです:-1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月

ajax呼び出しを確認しました。データは正常に返されています。

4

0 に答える 0