Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从动态标记计算for循环中的值_Javascript_Jquery - Fatal编程技术网

Javascript 从动态标记计算for循环中的值

Javascript 从动态标记计算for循环中的值,javascript,jquery,Javascript,Jquery,我有这个功能,我有一行的价格和人数的与会者选择。我试图根据更改/选择时从与会者(1,2,3,4,…)中选择的值计算所有价格的总和 function paymentTicketChanges() { var sumTicketAttendee = 0; var sumTicketPrice = 0; $('.ticketing-row').each(function(index, el) { var me = $(this); var attendee = me.fi

我有这个功能,我有一行的价格和人数的与会者选择。我试图根据更改/选择时从与会者(1,2,3,4,…)中选择的值计算所有价格的总和

function paymentTicketChanges() {
  var sumTicketAttendee = 0;
  var sumTicketPrice = 0;

  $('.ticketing-row').each(function(index, el) {
    var me = $(this);
    var attendee = me.find('.payment_number_attendees').val();
    var price = me.find('.payment_ticket_price').val();

    if ((attendee >= 1) && (price >= 1)) {
      sumTicketPrice += Number(price);
      sumTicketAttendee += Number(attendee);
    }

  });

  $('.payment_ticket_total span').text(sumTicketPrice * sumTicketAttendee);
  $('.card-payment #amount').val(sumTicketPrice * sumTicketAttendee);
}

关于如何得到准确的结果,我做了很多。它将总结果相乘

您将所有价格的总和乘以所有与会者的总和。您希望每行执行乘法

function paymentTicketChanges() {
  var total = 0;

  $('.ticketing-row').each(function(index, el) {
    var me = $(this);
    // Convert to number early, note the +
    var attendees = +me.find('.payment_number_attendees').val();
    var price = +me.find('.payment_ticket_price').val();

    if ((attendees >= 1) && (price >= 1)) {
      // Do the sum here, add to total
      total += attendees * price;
    }
  });

  // Use total
  $('.payment_ticket_total span').text(total);
  $('.card-payment #amount').val(total);
}
最后,可以使用
.toFixed(2)
打开
total

实例:

$(“输入”)。在(“输入”上,paymentTicketChanges);
paymentTicketChanges();
函数paymentTicketChanges(){
var合计=0;
$(“.票务行”)。每个(功能(索引,el){
var me=$(此);
//尽早转换为数字,注意+
var attendes=+me.find('.payment_number_attendes').val();
var price=+me.find('.payment_ticket_price').val();
如果((与会者>=1)和&(价格>=1)){
//在这里求和,加到总数上
总计+=与会者*价格;
}
});
//使用总数
$('.payment_ticket_total span').text(total.toFixed(2));
$('.card payment#amount').val(toFixed(2))合计;
}

与会者
价格
总数:
数量:

您将所有价格之和乘以所有与会者之和。您希望每行执行乘法

function paymentTicketChanges() {
  var total = 0;

  $('.ticketing-row').each(function(index, el) {
    var me = $(this);
    // Convert to number early, note the +
    var attendees = +me.find('.payment_number_attendees').val();
    var price = +me.find('.payment_ticket_price').val();

    if ((attendees >= 1) && (price >= 1)) {
      // Do the sum here, add to total
      total += attendees * price;
    }
  });

  // Use total
  $('.payment_ticket_total span').text(total);
  $('.card-payment #amount').val(total);
}
最后,可以使用
.toFixed(2)
打开
total

实例:

$(“输入”)。在(“输入”上,paymentTicketChanges);
paymentTicketChanges();
函数paymentTicketChanges(){
var合计=0;
$(“.票务行”)。每个(功能(索引,el){
var me=$(此);
//尽早转换为数字,注意+
var attendes=+me.find('.payment_number_attendes').val();
var price=+me.find('.payment_ticket_price').val();
如果((与会者>=1)和&(价格>=1)){
//在这里求和,加到总数上
总计+=与会者*价格;
}
});
//使用总数
$('.payment_ticket_total span').text(total.toFixed(2));
$('.card payment#amount').val(toFixed(2))合计;
}

与会者
价格
总数:
数量:

您需要添加您的HTML并向我们展示一个工作表,以便我们可以帮助您。因此,请指出一些问题。您正在对两个变量执行
=
,然后将它们转换为数字。你觉得奇怪吗?@Shina你在对字符串值执行
=
是我的观点。@Taplar-Ouch。。。“Taplar:这是真的,
val
总是返回一个字符串(如果在空的jQuery集合上调用它,则
undefined
),而
s>=n
其中
n
是一个数字,则将
s
强制为数字,
x*y
x
y
强制为数字。当然,依靠它不是个好主意。:-)太容易把
+
放进去然后被咬。你需要添加你的HTML并向我们展示一个工作表,这样我们才能帮助你。所以,我想指出一点。您正在对两个变量执行
=
,然后将它们转换为数字。你觉得奇怪吗?@Shina你在对字符串值执行
=
是我的观点。@Taplar-Ouch。。。“Taplar:这是真的,
val
总是返回一个字符串(如果在空的jQuery集合上调用它,则
undefined
),而
s>=n
其中
n
是一个数字,则将
s
强制为数字,
x*y
x
y
强制为数字。当然,依靠它不是个好主意。:-)太容易把
+
塞进去而被咬。