Как рассчитать запас с JQuery

Я не очень хорошо говорю по английски. У меня большая проблема, потому что я не знаю jquery. Я хочу разработать расчет запасов следующим образом:

<table id="tabla">
  <thead>
    <tr>
        <th>producto</th>
        <th>entry</th>
        <th>exit</th>
        <th>stock</th>

    </tr>
  </thead>
  <tbody>
<tr><td class="opening balance">10</td></tr>
    <tr>
        <td class="info">TP031</td>
        <td class="entry">4</td>
        <td class="exit">0</td>

        <td class="stock">14</td>
    </tr>
    <tr>
        <td class="info">SI0352</td>
        <td id="entry">0</td>
        <td class="exit">3</td>

        <td class="stock">11</td>
    </tr>
    <tr>
        <td class="info">MP4012</td>
        <td class="entry">0</td>
        <td class="exit">3</td>
        <td class="stock">9</td>
    </tr>
  </tbody>
</table>

Я хотел бы сделать это с помощью jquery. Я надеюсь, что это понято. Привет из Чили.

3 ответа

Решение

Это то, что вам нужно:

// First initialize the default variables, with your opening balance
var stockCount = 0;
var updatedStock = Number($(".opening.balance").html()) == "NaN" ? 0 : Number($(".opening.balance").html());
// For each "product", calculates the stock with the previous stock
$("tr.product").each(function(index) {
  stockCount = 0;
  
  // Number is used to convert string to number, so we can calculate
  var entry = Number($("td.entry", $(this)).html());
  var exit = Number($("td.exit", $(this)).html());

  entry = entry == "NaN" ? 0 : entry;
  exit = exit == "NaN" ? 0 : exit;

  var stock = updatedStock + entry - exit;
  updatedStock = stock;

  stockCount += stock;
  $("td.stock", $(this)).html(stock);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table id="tabla">
  <thead>
    <tr>
        <th>producto</th>
        <th>entry</th>
        <th>exit</th>
        <th>stock</th>

    </tr>
  </thead>
  <tbody>
<tr><td class="opening balance">10</td></tr>
    <tr class="product">
        <td class="info">TP031</td>
        <td class="entry">4</td>
        <td class="exit">0</td>

        <td class="stock"></td>
    </tr>
    <tr class="product">
        <td class="info">SI0352</td>
        <td class="entry">0</td>
        <td class="exit">3</td>

        <td class="stock"></td>
    </tr>
    <tr class="product">
        <td class="info">MP4012</td>
        <td class="entry">0</td>
        <td class="exit">3</td>

        <td class="stock"></td>
    </tr>
  </tbody>
</table>

Будьте осторожны, вы установили идентификатор для второго ряда.

Вы можете связать событие нажатия с кнопкой для расчета:)

Надеюсь, я помог.

( http://codepen.io/anon/pen/XXVrNd)

Насколько я понимаю, вам нужно получить общее количество акций.

Этого можно добиться, добавив все акции. Нам нужно использовать jquery each для этого.

Следующий код даст общее количество акций.

var stockTotal=0;

$(function(){
    $('.stock').each(function(){
        stockTotal= stockTotal+ parseInt($(this).text());
    });
    alert(stockTotal);
});

Рабочая скрипка

Надеюсь это поможет.

-Помогите:)

    <html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>

<script>

    $(document).ready(function(){
        var iTotalStock = 0;
        $('#tabla tbody tr').find('td.stock').each(function () {


            iTotalStock = iTotalStock + parseInt($(this).text(), 10);

        });
        $('#total').val(iTotalStock)
    });
</script>
</head>
<body>

   <table id="tabla">
  <thead>
    <tr>
        <th>producto</th>
        <th>entry</th>
        <th>exit</th>
        <th>stock</th>

    </tr>
  </thead>
  <tbody>
<tr><td class="opening balance">10</td></tr>
    <tr>
        <td class="info">TP031</td>
        <td class="entry">4</td>
        <td class="exit">0</td>

        <td class="stock">14</td>
    </tr>
    <tr>
        <td class="info">SI0352</td>
        <td id="entry">0</td>
        <td class="exit">3</td>

        <td class="stock">11</td>
    </tr>
    <tr>
        <td class="info">MP4012</td>
        <td class="entry">0</td>
        <td class="exit">3</td>
        <td class="stock">9</td>
    </tr>
  </tbody>
</table>
    <br /><br />
      Total<input type="text" id="total"/>
</body>
</html>
Другие вопросы по тегам