Невозможно суммировать элементы в массиве с Jquery - PullRequest
0 голосов
/ 06 марта 2020

Я попытался суммировать элементы и поместить результат в поле texbox, но он принимает только последний элемент массива. Что я делаю неправильно? (total1 - это идентификатор texbox.)

var diziquantity = [100,200];
var totalqty = 0;
$.each(diziquantity,function(index,element){
  totalqty = parseFloat(element) + totalqty;

});
$("#total1").val(totalqty);

Помещает 200 в текстовое поле, я хочу, чтобы оно вместо 300 указывало 300.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Добавлены некоторые изменения

jQuery(document).ready(function(){


	var diziquantity = [100,200];
	var totalqty = 0;
	jQuery.each(diziquantity,function(index,element){
	  totalqty = ( parseFloat(element) + parseFloat(totalqty) );
	});

	console.log(totalqty);
	//jQuery("#total1").val(totalqty);

	jQuery("#total1").val(totalqty);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="total1" id="total1" value="">
0 голосов
/ 06 марта 2020

Как альтернатива, Javascript имеет Array.prototype.reduce для этого:

const arr = [100, 200];
let total = arr.reduce((acc, val) => acc + val, 0);
console.log(total);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...