Использование плюса (+) не работает в функции Keyup

Все установлено, но, пожалуйста, обратите внимание на добавление зарплаты здесь, оно добавляет значение зарплаты в виде html к последнему расчету (я думаю, что это из-за знака плюс (+), поскольку javascrip использует его для добавления двух значений html)

html-код: html-код идеален, просто нужно сосредоточиться на php-коде

 <div id = "addPart1" class = "hide/row r/iow" style = "line-height:35px; width:100%;margin:auto; min-width:800px;float:left;padding-left:20px; font-size:120%">

    <div  style = "display:inline-block; width:14%">

    <input class = "form-control" style = "width:100%; height:30px" name = "c_v[]" list = "browsers" >
    <datalist id = "browsers">


     <?php include 'f_select_account.php'; ?></div>


    <div  style = "display:inline-block; width:14%">

    <input class = "form-control" style = "width:100%; height:30px" name = "item[]" list = "browsers" >
    <datalist id = "browsers">

    <?php include 'f_select_account.php'; ?></div>

    <div  style = "display:inline-block; width:14%">

  <select id = "selectID1" name = "usi" class = "chosen-select form-control" required style = "height:25px; font-size:80%">


    <?php include 'f_select_users_emp.php'; ?></div>

      <div  style = "display:inline-block; width:17%"><input style = "height:30px;margin-left:0px" class = "form-control" type = "text" id = "descID1" name  = "item_note[]"  form = "partForm"></div>




      <div  style = "text-align:right; display:inline-block; width:7%"><input  style = "text-align:right; height:30px"  class = "form-control coll" type = "text" id = "collID1" name = "amount[]" form = "partForm"></div>
      <div  style = "text-align:right; display:inline-block; width:7%"><input  style = "text-align:right; height:30px"  class = "form-control per" type = "text" id = "perID1" name = "amount[]" form = "partForm"></div>
                <div  style = "text-align:right;display:inline-block; width:7%"><input  style = "text-align:right; height:30px"  class = "form-control comm" type = "text" id = "amt1ID" name = "amount1[]" form = "partForm"></div>

      <div  style = "text-align:right; display:inline-block; width:7%"><input  style = "text-align:right; height:30px"  class = "form-control salary" type = "text" id = "amtID" name = "amount[]" form = "partForm"></div>
      <div  style = "text-align:right;display:inline-block; width:7%"><input readonly style = "text-align:right; height:30px"  class = "form-control tamount" type = "text" id = "amt1ID" name = "amount1[]" form = "partForm"></div>

      <div  style = "display:inline-block; width:2%"><input  STYLE = "cursor:pointer; width:100%; text-align:right; font-size:140%; font-weight:bold; border:none; background:none" id = "deleteLine1" value = "X" /></div>


    </div>



    <div style = " back/ground:whitesmoke; width:100%;margin:auto;padding-left:20px ">
      <a href='javascript:void(0);' STYLE = "font-size:140%; text-decoration:none; border:none; background:none; color:brown"  id = "addLine">add row <i class = "fa fa-plus-square" aria-hidden = "true"></i>
        </a>





    </div>

</div>

php code: здесь проблема зарплаты не добавляется к остальной части формулы ... Умножение (*) и минус (-) работает, но плюс (+) работает неправильно .. он работает как добавление значения htmls.

 $('body').delegate('.coll,.per,.comm, .salary, 
  .tamount','keyup',function()
                {
                    var tr=$(this).parent().parent();
                    var coll =tr.find('.coll').val();
                    var per =tr.find('.per').val();



                    var amt =(coll * per / 100);



                    tr.find('.comm').val(amt);
                    var salary =tr.find('.salary').val();
                     var tamt =(coll * per / 100 + salary); 

                    tr.find('.tamount').val(tamt);




                });
            });
var tamt =(((coll * per) / 100) + salary); попробуйте использовать правильные скобки.
Deepesh kumar 10.09.2018 06:24

@deepeshkumar - это злоупотребление ненужным скобка - на самом деле это должен быть var tamt = coll * per / 100 + salary; - без скобок вообще

Jaromanda X 10.09.2018 06:25

Делегат устарел, используйте "on ()"

Killer Death 10.09.2018 06:26
var salary = +tr.find('.salary').val(); должен исправить это - потому что val() возвращает строку, а + string переводит значения в строки ..
Jaromanda X 10.09.2018 06:26

Небольшая коррекция, брекеты - { и }. В скобках указаны ( и ): D

Phil 10.09.2018 06:26

Я не был педантичным - я исправлял неправильную поправку - а по математике это все равно скобка - следовательно, BODMAS

Jaromanda X 10.09.2018 06:27

@Prime Burg, как вы думаете, почему "+" вызывает проблемы?

Killer Death 10.09.2018 06:35

@KillerDeath не работает должным образом. Да, если мы используем muliply *, то это работает ......

Prime Burg 10.09.2018 07:32
Поведение ключевого слова "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) для оценки ваших знаний,...
5
8
46
1

Ответы 1

У меня есть решение, так как плюс не работает, но работают другие операторы, поэтому я использую минус (-) и -1 * (зарплата)

var tamt = (coll * per / 100 - (-заплата);

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

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