Получить значение, используя имя класса в jquery

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

Я пытаюсь получить значение текстового поля ввода и умножить его на количество и отобразить в столбце total.

Вот jsfiddle

HTML

 Price: <input id="price" type="text"/>
<table id="my-table">
<tr>
   <td>Quantity</td>
   <td>Total</td>
</tr>   
<tr>
    <td class="quantity">15,447.84</td>
    <td class="total"></td>
</tr>
<tr>
    <td class="quantity">89.28</td>
    <td class="total"></td>
</tr>
</table>
  

Скрипт

 $(document).ready(function () {
    $('#price').on('change', calTotal);
    function calTotal() {
        var p = $('#price').val();
        var q = $('.quantity').text();
        alert(q);
    }
});
  

var q = $('.quantity').text(); дайте мне вывод как 15,447.8489.28 .

Как я могу умножить каждое quantity значение на цену и распечатать в общем столбце?

Ответ №1:

  • Используйте parseFloat() и .text() для установки значений.

  • Кроме того, у вас есть два столбца для total и quantity каждый, вам нужно проверить значения обоих соответствующих столбцов при назначении текста в total

  • Вам нужно преобразовать 15,000 в 15000 , используйте replace() для этого.


 $('.total').text(function(){
    var q = $(this).prev().text();
    q = q.replace(/,/g, '');                
    p = p.replace(/,/g, '');  
    return (parseFloat(p)*parseFloat(q))
});
  

Демонстрация скрипки

Комментарии:

1. Большое вам спасибо :). У меня небольшая проблема. как я могу добавить тысячу разделителей к сумме и ограничить двумя десятичными знаками? Проверьте это. jsfiddle.net/W7P4S/8 введите 10 для получения цены и посмотрите. это показывает 91.19999999999999 . мне нужно показать его как 91.19 и 154478.4 как 154,478.4 .