从动态加载内容的变量中获取总和(来自每个函数)

时间:2013-02-18 19:12:38

标签: json sum

我正试图从变量中得到“总和” 我现在有这个代码:

function UpdateBuddyStat()
{
 $.getJSON('/update-buddies', function(jsonData){

   var counterjson = 0;
   var LI_list_html = '';

   $.each(jsonData, function(i,value){

   var count = counterjson++;
   var username = jsonData[i].name;
   var buddy = jsonData[i].buddyid;
   var onoff = jsonData[i].onoffstate;

   var DIV_html = username+' - ['+onoff+']<div class="FunctionBuddyBox"><span class="TagBuddy" id="TagsBuddy_'+buddy+'" data-tagbuddyid="'+buddy+'">tagit</span></div>';

   LI_list_html = LI_list_html+'<li>'+DIV_html+'</li>';
   });

   $("#ShowBuddyList ul li").remove();
   $("#ShowBuddyList ul").html(LI_list_html);  
 })
}  

我得到的就是这个:

User1 - [1]  
User2 - [0]
User3 - [0]
User4 - [1]
User5 - [0]

所以最后我需要总结var“onoff”。在这种情况下,结果将是2.
我尝试了很多选择,但仍然没有运气。
也许有人对我提出建议?非常感谢提前!

1 个答案:

答案 0 :(得分:1)

只需添加一个sum计数器,并为每个项目添加onoff值(在转换为整数后):

function UpdateBuddyStat()
{
 $.getJSON('/update-buddies', function(jsonData){

   var counterjson = 0;
   var LI_list_html = '';
   var sum = 0;

   $.each(jsonData, function(i,value){

   var count = counterjson++;
   var username = jsonData[i].name;
   var buddy = jsonData[i].buddyid;
   var onoff = jsonData[i].onoffstate;
   sum += parseInt(onoff, 0);

   var DIV_html = username+' - ['+onoff+']<div class="FunctionBuddyBox"><span class="TagBuddy" id="TagsBuddy_'+buddy+'" data-tagbuddyid="'+buddy+'">tagit</span></div>';

   LI_list_html = LI_list_html+'<li>'+DIV_html+'</li>';
   });

   $("#ShowBuddyList ul li").remove();
   $("#ShowBuddyList ul").html(LI_list_html);  
 })
}