деление работы и сумма в jquery не работают? - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть дата с флажком и кнопкой добавления, я хочу, когда я нажимаю на кнопку добавления, отображаю консоль salaire и prime и sold, рассчитываю как продано = (salaire / 24) + prime.

индекс. php

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">


<div id="form2">
<table class="table table-bordered" id="mytable">
  <tr>
    <th><input type="checkbox" id="check_all"></th>
    <th>nom</th>
    <th>salaire</th>
    <th>adresse</th>
    <th>prime</th>
  </tr>
  <tr>
    <td><input type="checkbox" class="checkbox"></td>
    <td>najib</td>
    <td>5000</td>
    <td>tihit</td>
    <td><input type="text" name="prime" class="form-control prime" value="0"></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="checkbox"></td>
    <td>adil</td>
    <td>4000</td>
    <td>tagmast</td>
    <td><input type="text" name="prime" class="form-control prime" value="0"></td>
  </tr>
</table>
<div class="form-group col-md-offset-5 ">
  <button class="btn btn-success " type="submit" id="add">Pointage men</button>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
  $("#add").click(function(){
    var items = [];
    $("tr").each(function(i,r){
        let salaire = r.cells[2].innerText;
        let prime = $(r).find(".prime").val();
        let sold = ((salaire)/24) + prime;
        if ( i > 0 && $(r).find("input").first().prop("checked")){
           items.push({ "salaire" : salaire , "prime" : prime , "sold" : sold });
        }
    })
console.log(items);
  })
})
</script>

1 Ответ

1 голос
/ 19 февраля 2020

Это происходит потому, что переменные salaire и prime фактически возвращаются в коде в виде строки и, следовательно, когда вы делаете это:

console.log( ('5000'/24) + '100' )

затем ответ также возвращается в виде строки, такой как "208.33333333333334100"

Итак, вам просто нужно сначала преобразовать их в целое число, и оно должно работать нормально, как :

let salaire = '5000'
let prime = '100'
let sold = ((+salaire) / 24) + +prime;
console.log(sold)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...