首页 > 解决方案 > 来自onclick获取请求foreach jquery的总和值

问题描述

我试图总结从 jQuery 中的 json get 请求中获得的值。相反,它不断替换值而不是在 variable 中求和total

请问我如何总结每次点击的价值?

这是我的代码

$(".checks").on("click", function(){
  var clicked = $(this);
  var room = clicked.val();
  var total = 0;

  if(this.checked) {
    $.get('/rooms.json', function(data){ 
      data.forEach(function(d){
        if(room == d.id){
          total += parseInt(d.room_type.price);
          $("#selected_rooms").append("<p>" + d.number + " @ " + d.room_type.price + "</p>");
          $("#total_amount").html("<p>" + total + "</p>");
        }
      });
    });
  } else {
    $("#selected_rooms").
  }
});

标签: javascriptjquery

解决方案


您必须在事件处理程序total之外初始化变量。click

var total = 0;
$(".checks").on("click", function(){
  var clicked = $(this);
  var room = clicked.val();

  $.get('/rooms.json', function(data){ 
    data.forEach(function(d){
      if(room == d.id){
        total += parseInt(d.room_type.price);
        $("#selected_rooms").append("<p>" + d.number + " @ " + d.room_type.price + "</p>");
        $("#total_amount").html("<p>" + total + "</p>");
      }
    });
  });
});

推荐阅读