2015-12-17 131 views
2

我有一堆用于在图表中显示的数字... 我想添加这些数字并在标签中显示数字... 我该怎么做?如何在堆栈中添加值

$(function ZoneClick() { 
 
    $("[id*=rbtnZone]").click(function() { 
 
     var row = $(this).closest('tr'); 
 
     var branchId = $(row).find('[id*=hfBranchId]').val(); 
 
     var rbtlSales = $("#<%= rbtlSales.ClientID%>"); 
 
     var selectedValue = rbtlSales.find("input:checked").val(); 
 
     
 
     $.ajax({ 
 
      url: '<%=ResolveUrl("~/Corporate/Sales.aspx/GetZoneData") %>', 
 
      data: "{'rbtlSales':'" + selectedValue + "'}", 
 
      dataType: "json", 
 
      type: "POST", 
 
      contentType: "application/json; charset=utf-8", 
 
      success: function(data) { 
 
       var labels = []; 
 
       var datas = []; 
 
       $.each(data.d, function(i, item) { 
 
        var l = item.split('-')[0]; 
 
        var d = item.split('-')[1]; 
 
        var dd = d | 0; 
 
        labels.push(l); 
 
        datas.push(dd); 
 
       }); 
 

 
       var barChartLocData = 
 
     { 
 
      labels: labels, 
 
      datasets: 
 
      [ 
 
       { 
 
        fillColor: "indianred", 
 
        highlightFill: "red", 
 
        data: datas 
 
       } 
 
      ] 
 
     }; 
 
       var ctx = document.getElementById("canvas").getContext("2d"); 
 
       new Chart(ctx).HorizontalBar(barChartLocData, { 
 
        responsive: true, 
 
        scaleFontColor: "#000", 
 
        showTooltips: false, 
 
        onAnimationComplete: function() { 
 
         var ctx = this.chart.ctx; 
 
         ctx.font = this.scale.font; 
 
         ctx.fillStyle = this.scale.textColor 
 
         ctx.textAlign = "right"; 
 
         ctx.textBaseline = "center"; 
 
         this.datasets.forEach(function(dataset) { 
 
          dataset.bars.forEach(function(bar) { 
 
           ctx.fillText(bar.value, bar.x + 15, bar.y); 
 
          }); 
 
         }); 
 
        } 
 
       }); 
 
      }, 
 
      error: function(response) { 
 
      }, 
 
      failure: function(response) { 
 
      } 
 
     }); 
 
    }); 
 
});

最后一行DD包含的值...我想补充他们的标签显示它...

问候, 洒进一个

+0

你是如何创建图表的?这似乎是从你的代码丢失。 – Andy

+1

'data:“{'rbtlSales':'”+ selectedValue +“'}”,'不会生成有效的JSON。 – Quentin

+0

我已经更新了问题...图表生成正常...我只是想添加值并显示它...谢谢... – SaJ

回答

2

使用array.push()array.pop()使用array作为stack

http://www.w3schools.com/jsref/jsref_push.asp

http://www.w3schools.com/jsref/jsref_pop.asp

一些例子:

var initial_arr = [ 1, 4 ]; 
console.log(initial_arr); // output : [ 1, 4 ] 

initial_arr.push(6); 
console.log(initial_arr); // output : [ 1, 4 , 6] 

initial_arr.push(9); 
initial_arr.push(7); 
console.log(initial_arr); // output : [ 1, 4 , 6, 9, 7] 

var popedValue = initial_arr.pop(); 
console.log(popedValue); // output : 7 
console.log(initial_arr); // output : [ 1, 4 , 6, 9] 
+0

您能否详细说明一个示例? – SaJ

+0

这是一个很好的帮助..我已经清除了这个问题...谢谢保罗... – SaJ

+0

@SaJ您好,请选择答案作为正确答案,这样其他人也可以从这个答案中获得帮助。 –

0

解决办法很简单......

var lblmsg = "Total Sales is " + eval(datas.join('+')); 
 

 
document.getElementById('<%=lblTotal.ClientID %>').innerHTML = lblmsg;