JQuery метод математических сумм - PullRequest
5 голосов
/ 18 июля 2011

Мне нужно подвести сумму денег, у меня есть этот HTML

<div class=''>54,44</div>
<div class=''>34,10</div>
<div class=''>44,00</div>
<div class=''>14,50</div>

Как я могу сделать предупреждение с суммой этого текста Div ??(правильная сумма !! ;-)) Большое спасибо!

Ответы [ 7 ]

11 голосов
/ 18 июля 2011

Добавьте некоторый класс, например money (или используйте селектор $("div")), и сделайте что-то вроде этого:

var sum = 0;
$(".money").each(function(){
    sum += parseFloat($(this).text().replace(",", "."));
});

alert(sum);
8 голосов
/ 18 июля 2011

Во-первых, стоит ставить атрибут data на каждый div с необработанным количеством, лишенным какого-либо языкового форматирования.

например, /

<div data-amount="55.44">54,44</div>

Тогда, предполагая, что эти div-ы можно идентифицировать, вы можете просто сделать

var total = 0;
$('some-selector-for-your-divs').each(function(){
   total += parseFloat($(this).data('amount'));
});

Редактировать: Дух! разбирать фиксированные суммы денег.

2 голосов
/ 18 июля 2011

Запятая не является допустимым десятичным разделителем в Javascript, поэтому вам придется преобразовать запятые в десятичные точки:

var sum = 0;

$('div').each(function() {
    var v = $(this).text().replace(',', '.');
    sum += parseFloat(v);
});

alert(sum);
1 голос
/ 18 июля 2011
var sum = 0;
$('div').each(function() {
    var val = $(this).text().replace(',', '.'); // Replace , with .
    sum += parseFloat(val);
});

( демо )

Обновление
База 10 штука была дерьмом.

1 голос
/ 18 июля 2011

Используйте следующий код

   var sum=0;
    $('div').each(function(){
    sum+=parseFloat($(this).text().replace(',','.');
    });
1 голос
/ 18 июля 2011
var sum = 0;
$('div').each(function() {
sum += $(this).text();
});
alert("The sum is "+ sum);
0 голосов
/ 18 июля 2011
var sum=0;
$('div').each(
    function(){
         sum+=Number($(this).html());
    }         
);
alert(sum  );

Не забудьте преобразовать числа в формат Coreect

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...