JQuery Как умножить значение и получить результат

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

 sum += Number($(this).val());

вместо + я поставил как * эти символы

sum *= Number($(this).val());

Результат не отображается без ошибок. Я приложил код ниже, пожалуйста, посмотрите код и дайте мне хороший ответ, спасибо.

Это Форма

<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Price</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control price" id = "price" name = "price" placeholder = "price" required>
    </div>
</div>

<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Qty</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control price" id = "qty" name = "qty" placeholder = "qty" required>
    </div>
</div>

<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Total Cost</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control" id = "total_cost" name = "total_cost" placeholder = "Total Cost" required>
    </div>
</div>

Это jQuery

function total()
{
    // we used jQuery 'keyup' to trigger the computation as the user type
    $('.price').keyup(function () {

        // initialize the sum (total price) to zero
        var sum = 0;

        // we use jQuery each() to loop through all the textbox with 'price' class
        // and compute the sum for each loop
        $('.price').each(function() {
            sum += Number($(this).val());

        });

        // set the computed value to 'totalPrice' textbox
        $('#total_cost').val(sum);

    });

}

Что ж, если вы умножите 0 на что угодно, вы получите 0. Вместо этого установите sum в 1, если вы хотите найти произведение всех

CertainPerformance 27.04.2018 09:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам необходимо инициализировать sum =1, потому что sum = 0 всегда будет давать 0 при умножении.

Ну действуй:-

var sum = 1;

sum = sum * Number($(this).val());

Или же

var sum = 1;

sum *= Number($(this).val());

Рабочий фрагмент: -

$(document).ready(function(){
  $('.price').keyup(function(){
    var sum = 1;
    $('.price').each(function() {
      if ($(this).val()){
        sum *= Number($(this).val());
      }
    });
    $('#total_cost').val(sum);
  });
});
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Price</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control price" id = "price" name = "price" placeholder = "price" required>
    </div>
</div>

<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Qty</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control price" id = "qty" name = "qty" placeholder = "qty" required>
    </div>
</div>

<div class = "form-group">
    <label for = "" class = "col-sm-2 control-label">Total Cost</label>
    <div class = "col-sm-10">
        <input type = "text" class = "form-control" id = "total_cost" name = "total_cost" placeholder = "Total Cost" required>
    </div>
</div>

Спасибо за хороший ответ, сэр. сейчас работаю. кол-во как установить как 1 в текстовом поле

mayu kobi 27.04.2018 09:39

Другие вопросы по теме