Javascript .text()=''0:parseFloat($(“#总量”).text(); num#su=$(“#总额”).text()=''0:parseFloat($(“#总额”).text(); var q=$(this).closest('.item行').find('.add_quantity').val(); var a=$(this).closest('.item行').find('.add_amount').val(); 元("总数量").文本(qua#u su-q);; $(‘总额’)。文本(num#u su-a); } }); });

Javascript .text()=''0:parseFloat($(“#总量”).text(); num#su=$(“#总额”).text()=''0:parseFloat($(“#总额”).text(); var q=$(this).closest('.item行').find('.add_quantity').val(); var a=$(this).closest('.item行').find('.add_amount').val(); 元("总数量").文本(qua#u su-q);; $(‘总额’)。文本(num#u su-a); } }); });,javascript,jquery,Javascript,Jquery,总数:60 总数:600我们还需要查看HTML以重新创建问题。也就是说,听起来好像你在复制事件处理程序,不知何故。@Rorymcrossan HTML代码放在for循环中只是,你到底想要什么作为输出?我以为这是一个id问题,所以单击时你会得到错误的值,但你想得到正确的值选中列的总数,对吗?或者我不知道,那么你能解释一下你想要什么吗?@MickaelLeger是的,如果我单击某一行,我希望该行的值被添加。我在一个id中有一个总数,当取消选中某一行的复选框时,我希望该行的值被减少。我们还需要查看HT

总数:60



总数:600

我们还需要查看HTML以重新创建问题。也就是说,听起来好像你在复制事件处理程序,不知何故。@Rorymcrossan HTML代码放在for循环中只是,你到底想要什么作为输出?我以为这是一个id问题,所以单击时你会得到错误的值,但你想得到正确的值选中列的总数,对吗?或者我不知道,那么你能解释一下你想要什么吗?@MickaelLeger是的,如果我单击某一行,我希望该行的值被添加。我在一个id中有一个总数,当取消选中某一行的复选框时,我希望该行的值被减少。我们还需要查看HTML以重新创建该行问题。也就是说,听起来好像你在复制事件处理程序。@Rorymcrossan HTML代码被放在for循环中Just,你到底想要什么作为输出?我认为这是一个id问题,所以点击时你得到了错误的值,但你想得到检查的列总数,对吗?或者我没有得到它,那么你能解释一下你想要的是什么吗租约?@MickaelLeger是的,如果我单击某一行,我希望该行的值被添加。我在一个id中有一个总金额,同时取消选中某一行的复选框,我希望该行的值被减少。兄弟,为了获得唯一性,我选择类名。是的,我看到了,拥有唯一id更好,但不是anwser。你能解释一下吗他输出了你想要的(我评论你的问题),这样我就可以编辑我的anwser了。请看@Rafael Paulino回答这个概念needed@user_777好的,我的方法是:每次有人点击一个复选框,你将你的总和初始化为0,如果他们被选中,你将选中所有复选框,如果是:你得到行的值(以id为例,可能会更容易)把这个值加到你的求和变量中,然后你写最后的输出。清楚了吗?你认为它可以工作吗?我没有写所有的代码,但主要的逻辑在这里谢谢你,兄弟,你节省了我很多时间。谢谢你,兄弟,我选择了类名。是的,我看到了,拥有唯一的id更好,但不是anwser。你能吗你解释你想要的输出(我评论你的问题),这样我就可以编辑我的anwser了。请看@Rafael Paulino回答这个概念needed@user_777好的,我的方法是:每次有人点击一个复选框,你将你的总和初始化为0,如果他们被选中,你将选中所有复选框,如果是:你得到行的值(以id为例,可能会更容易)把这个值加到你的求和变量中,然后你写最后的输出。清楚了吗?你认为它可以工作吗?我没有写所有的代码,但主要的逻辑在这里。谢谢你,兄弟,你节省了我很多时间。谢谢你,这是我想要的,但对我来说,第二行执行两次,第一行执行三次我更新了我的问题关于数据,请看一看您的数据对我来说似乎很奇怪。您有三行(每一行都是有效的JSON对象)。您的内部有一个数组“JSON”。每个数组(每行中)只包含一项。您是如何从后端获取此数据的?我有一种预感,您的问题可能出在创建表的函数中(以及它被执行的次数)。请提供更多的代码,我肯定会帮助你。每次你“得到数据”“,您真的想附加到现有表中吗?或者您想用新值替换表中的所有数据?是的,这是我想要的,但对我来说,第二行执行两次,第一行执行三次我用数据更新我的问题请看一下您的数据对我来说很奇怪。您有三行(每一个都是有效的JSON对象)。在你的内部有一个数组“JSON”。每一个数组(每行中)只包含一项。你是如何从后端获取这些数据的?我有一种预感,你的问题可能出在创建表的函数中(以及它被执行了多少次)。请提供更多代码,我肯定会帮助您。每次“获取数据”时,您真的要附加到现有表中?还是要用新值替换表中的所有数据?
<script>
 $(document).ready(function () {
   var qua=[];
   var amnt=[];
   $("#getdata").on('click',function () {
   var form_data={      
                    agent_name: $('#agent_name').val(),
                    number: $('#number').val(),
                    number_from: $('#number_from').val(),
                    number_to: $('#number_to').val(),
                    quantity: $('#quantity').val(),
                    amount: $('#amount').val(),
                    date: $('#date').val(),
                    commision: $('#commision').val(),
                    profit: $('#profit').val(),
                    agent_amount: $('#agent_amount').val(),
                    user_id: $('#user_id').val(),
                    type: $("#abc_type_"+$("input[name=select_type]:checked").val()).val()
                  }
    $.ajax({
    type: 'POST',
    url: '<?php echo base_url();?>app/admin_control/ajax_data',
    data: form_data,
    dataType:"json", //to parse string into JSON object,
    success: function(data){ 
      var fragment = '';


   for(var i=0; i < data.json.length; i++){
     fragment += '<tr class="item-row"><td><input type="hidden" id="add_type" name="add_type[]" value="'+ data.json[i].type +'">'+ data.json[i].type +'</td><td><input type="hidden" id="add_number" name="add_number[]" value="'+ data.json[i].number +'">'+ data.json[i].number +'</td><td><input type="hidden" class="add_quantity" id="add_quantity" name="add_quantity[]" value="'+ data.json[i].quantity +'">'+ data.json[i].quantity +'</td><td><input type="hidden" class="add_amount" id="add_amount" name="add_amount[]" value="'+ data.json[i].amount +'">'+ data.json[i].amount +'</td><td><input type="checkbox" class="add_checkbox" name="add_checkbox" id="add_checkbox'+i+'" value="1" checked></td></tr>'; 
    }

   qua_sum = 0;num_sum = 0;txt='';
   $("#table").append(fragment);

   $(".add_checkbox").on('click',function(){
      alert();


     if($(this).is(':checked'))
    {
        qua_su=$("#total_quantity").text() == '' ? 0 : parseFloat($("#total_quantity").text());
        num_su=$("#total_amount").text() == '' ? 0 : parseFloat($("#total_amount").text());
        var q=$(this).closest('.item-row').find('.add_quantity').val();
        alert(q);
        var a=$(this).closest('.item-row').find('.add_amount').val();
        alert(a);
        qu=$('#total_quantity').text(parseInt(qua_su) + parseInt(q));
        nu=$('#total_amount').text(parseInt(num_su) + parseInt(a));
    }
    else
    {

      qua_su=$("#total_quantity").text() == '' ? 0 : parseFloat($("#total_quantity").text());
      num_su=$("#total_amount").text() == '' ? 0 : parseFloat($("#total_amount").text());
      var q=$(this).closest('.item-row').find('.add_quantity').val();
      alert(q);
      var a=$(this).closest('.item-row').find('.add_amount').val();
      alert(a);
      qu=$('#total_quantity').text(qua_su-q);
      nu=$('#total_amount').text(num_su-a);
    }


 // Then you write the output where you want :

    }); 

  },
    error: function(jqXHR, textStatus, errorThrown){
        alert('error: ' + textStatus + ': ' + errorThrown);
    }

});
});

 return false;  

 });
{"json":[{"agent_name":"admin","number":"212","type":"super","quantity":"33","amount":"330.00","date":"2018-02-21 15:58:57","commision":"10.00","profit":"330.00","agent_amount":"0.00","user_id":"1"}]}
{"json":[{"agent_name":"admin","number":"444","type":"super","quantity":"44","amount":"440.00","date":"2018-02-21 15:58:57","commision":"10.00","profit":"440.00","agent_amount":"0.00","user_id":"1"}]}
{"json":[{"agent_name":"admin","number":"444","type":"super","quantity":"44","amount":"440.00","date":"2018-02-21 15:58:57","commision":"10.00","profit":"440.00","agent_amount":"0.00","user_id":"1"}]}