Member 11882484 Ответов: 3

При нажатии клавиши event script для отображения суммы в другом текстовом поле


У меня есть три или более текстовых поля, которые создаются динамически и имеют идентификаторы. Я должен показать сумму всех значений в моем текстовом поле с идентификатором суммы при нажатии клавиши. Если текстовое поле пусто, оно не должно учитываться в сумме. Если мы дадим значение в двух текстовых полях, то оно будет отображать сумму двух значений текстового поля в моем текстовом поле, которое имеет id sum. Проблема в том, что это работает, но не дает правильного значения моему текстовому полю с идентификатором суммы.

Что я уже пробовал:

мой сценарий
<script>
    $(document).ready(function () {

        //iterate through each textboxes and add keyup
        //handler to trigger sum event
        $(".form-control").each(function () {

            $(this).keyup(function () {
                calculateSum();
            });
        });

    });
    function calculateSum() {
        debugger;
        var sum = 0;
        //iterate through each textboxes and add the values
        $(".form-control").each(function () {
            //add only if the value is number
            if (!isNaN(this.value) && this.value.length != 0) {
                sum += parseFloat(this.value);

            }

        });
        //.toFixed() method will roundoff the final sum to 2 decimal places
        // int sums = sum;
        //jQuery.noConflict("Debit").value = sums;
        //$("#Debit").val(sum);
        //$('#sum').html(sum.toFixed(2));
        document.getElementById('sum').value = sum;

    }
</script>
the textbox where to display sum
<div class="form-group">
                                        <label class="control-label col-md-3">
                                            Debitt:
                                        </label>
                                        <div class="col-md-4">
                                            <input type="text" name="Debit" id="sum" class="form-control"><br>
                                        </br></div>
                                        <span id="errorName" style="color: Red;"></span>
                                    </div>

Member 11882484

Эй, но как он принимает десятичное значение .предположим, если я дам 3.2 и 4.1, то он станет 7.3, а не 7

3 Ответов

Рейтинг:
22

Karthik_Mahalingam

попробовать это

<html>
<head>
    <link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
     
    <script>
        $(document).ready(function () {

            $(".form-control:not(#sum)").each(function () {
                $(this).keyup(function () {
                    calculateSum();
                });
            });

        });
        function calculateSum() {
            debugger;
            var sum = 0;

            $(".form-control:not(#sum)").each(function () {
                if (!isNaN(this.value) && this.value.length != 0) {
                    sum += parseFloat(this.value);
                }
            });
            document.getElementById('sum').value = sum;

        }
    </script>
</head>
<body>
    <input type="text" class="form-control"> <br />
    <input type="text" class="form-control"><br />
    <input type="text" class="form-control"><br />
    Debit: <input type="text" name="Debit" id="sum" class="form-control">


</body>
</html>


Member 11882484

спасибо Картик.Но я пробую это, но это не сработало в тот раз, и это работает сейчас.thanx много

Karthik_Mahalingam

крутой :)

Member 11882484

Эй, я понимаю, почему это произошло ... потому что для суммирования требуется также дебетовый идентификатор

Karthik_Mahalingam

да, именно поэтому я и добавил Это
$(".form-control:not(#sum)")
приведенный выше селектор будет игнорировать текстовое поле sum.

Рейтинг:
1

Member 11882484

thanx karthik для вашего решения я знаю, что я ошибаюсь в этом Лин

$(".form-control").each(function () {

но можете ли вы сказать мне, почему мы используем #not sum


Karthik_Mahalingam

Привет Пожалуйста, используйте  Ответить  кнопка для размещения комментариев/запросов.
Не используйте виджет решения, Пожалуйста, удалите его.

Рейтинг:
1

Member 3422224

Мне понадобится: id="sum"
как номер, который нужно поместить в базу данных.
К Пожелания
Манфред


CHill60

Если это должно быть решением, то это не имеет никакого смысла