вычисление общей стоимости счета-фактуры корзины покупок

В моем коде после того, как пользователи выбирают продукты и переходят на страницу корзины, моя страница корзины создает структуру html, подобную этой, для всех общих цен выбранных продуктов: ниже здесь x указывает число, которое является идентификатором товара, который я получаю из сеанса, поэтому каждый раз они различаются, также количество полей меняется каждый раз в зависимости от выбора пользователя

<span class="total-x"> some value</span>
<span class="total-x"> some value</span>
<span class="total-x"> some value</span>
.
.
.
.
<span class="total-x"> some value</span>

например, если корзина получает сеанс формы id=3 после некоторых других кодов, страница создает такое поле:

 <span class="total-3"> some value [has been computed]</span>

Я хочу суммировать значение этих полей и поместить в такое поле:

<span id=total-all> </span> 

Я прошу о каждом, что привело бы меня к преодолению этого.


person Mahdi Younesi    schedule 23.08.2015    source источник


Ответы (1)


Попробуйте использовать start with selector для идентификации этого неизвестного класса,

$("#total-all").text($("span[class^='total-']").get().reduce(function(a,b){
  return a + (+$(b).text());
},0));

ДЕМО

person Rajaprabhu Aravindasamy    schedule 23.08.2015
comment
@MahdiYounesi Рад помочь! Если этот ответ действительно помог вам, попробуйте щелкнуть галочку рядом с этим ответом. Это поможет будущим посетителям узнать, что этот ответ сработал для вас.!!! - person Rajaprabhu Aravindasamy; 23.08.2015
comment
@Rajapraprabhu Aravindasamy, я пытался это сделать, но Stackoverflow предупреждает, что для голосования мне нужна репутация не ниже 15! - person Mahdi Younesi; 23.08.2015
comment
@MahdiYounesi Нет, вы можете нажать на галочку. Не голоса. :) Для этого не нужны никакие репутации или привилегии. - person Rajaprabhu Aravindasamy; 23.08.2015
comment
Ага! Я понял, собираюсь стать профессионалом... ;) - person Mahdi Younesi; 23.08.2015
comment
@MahdiYounesi Дайте образец этого числа здесь. Если с ним есть пробел, попробуйте использовать return a + $.trim((+$(b).text())); - person Rajaprabhu Aravindasamy; 23.08.2015
comment
нет, спасибо, это была проблема с моим кодом, я использовал функцию toLocalString, чтобы показать свои числа в денежном формате, который конфликтовал с вашим кодом, спасибо за вашу заботу. - person Mahdi Younesi; 23.08.2015