Как использовать событие onkeyup несколько раз в одном поле ввода в jQuery?

Я работаю над формой, в которой хочу произвести расчеты. Я использую для этого jquery. Ниже приведен html-код и функция jquery для того же.

function sum(param,id) 
        {
            var daysWork = document.getElementById('days_work_'+id).value;
            var rateReceived = document.getElementById('rateReceived_'+id).value;
            var percPaid = document.getElementById('perc_paid_'+id).value;
            var paidFrmUk = document.getElementById('paidFrmUk_'+id).value;
            var paidFrmIndia =  document.getElementById('paid_from_india_'+id).value;
            var remaining =  document.getElementById('remaining_'+id).value;


            var totalDisplay = rateReceived * daysWork;
            var total = totalDisplay.toFixed(2);
            document.getElementById('total_'+id).value = total;   

            var toBePaidDisplay = (totalDisplay * percPaid)/100;
            var toBePaid = toBePaidDisplay.toFixed(2);
            document.getElementById('tobe_paid_'+id).value = toBePaid;

            var paidFrmIndiaDisplay = toBePaid - paidFrmUk;
            var paidFrmIndia = paidFrmIndiaDisplay.toFixed(2);
            var paidFrmIndia = document.getElementById('paid_from_india_'+id).value = paidFrmIndia;

            var addUkIndiaSal = Number(paidFrmIndia) + Number(paidFrmUk);
            var remainingDisplay = toBePaid - addUkIndiaSal;    
            var remaining = remainingDisplay.toFixed(2);
            document.getElementById('remaining_'+id).value = remaining;

        }



<td><?php echo $RATE_RECEIVED;?></td>
<td><?php echo $CURRENCY_CODE;?></td>   
<td><?php echo $PERC_PAID;?></td>    
<td><input type = "text" onkeyup = "sum(this,<?php echo $srNo;?>)"   id = "days_work_<?php echo $srNo;?>"  value = "<?php echo $DAYS_WORKED;?>" /></td> 
<td><input type = "text"  id = "total_<?php echo $srNo;?>"  value = "<?php echo $TOTAL;?>"  /></td> 
    <td align = "center"><input type = "text"    id = "tobe_paid_<?php echo $srNo;?>"  value = "<?php echo $PER_TO_BE_PAID; ?>"  /></td> 
<td><input type = "text" onkeyup = "sum(this,<?php echo $srNo;?>)"  id = "paidFrmUk_<?php echo $srNo;?>"  value = "<?php echo$SAL_PAY_FRM_UK;?>" /></td>            
<td><input type = "text" onkeyup = "sum(this,<?php echo $srNo;?>)"  id = "paid_from_india_<?php echo $srNo;?>"  value = "<?php echo $SAL_PAY_FRM_INDIA;?>"  /></td> 
<td><input type = "text" onkeyup = "sum(this,<?php echo $srNo;?>)"   id = "remaining_<?php echo $srNo;?>"  value = "<?php echo$REMAINING;?>"  /></td>

Мой код работает нормально в соответствии с моей функцией. но у меня есть другие условия, которые я не могу выполнить с помощью этого кода.

Как вы можете видеть последние 3 входа в td paidFrmUk_, paid_from_india_, слева_. Мой расчет похож на payFrmIndia = = toBePaid - payFrmUk;

its working. but if i want to edit paidFrmUk after calculation it wont allow me to edit that input box. what is the solution for this. to edit input box once calculated by function.

Это нативный js, а не jquery. Можете ли вы экстраполировать, почему он не позволяет вам редактировать это поле ввода - что именно происходит, ошибка? Текст не появляется?

Pete 02.05.2018 13:05

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

amit sutar 02.05.2018 13:08

Это потому, что вы снова запускаете сумму onkeyup, чтобы ни один из ваших входов не изменился, он повторно вставляет ответ

Pete 02.05.2018 13:11
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
3
192
0

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