2016-01-20 6 views
1

Я плохо говорю по-английски. У меня большая проблема, потому что я не знаю 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. Надеюсь, это понятно. Привет из Чили.

+0

Я ответил ниже для вас, есть чек! – Alteyss

ответ

0

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

// 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)

+0

: O excelente, esto me sirve mucho, gracias por la ayuda, son muy amables ..: D: D –

+1

отлично, мне очень помогает, спасибо за помощь, они очень дружелюбны. saludos desde chile –

+0

I Я рад, что помог! Если бы я это сделал, мог бы проверить мой ответ? Спасибо. – Alteyss

0
<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> 
0

Согласно моему пониманию, вам необходимо получить общее количество акций.

Этого можно достичь, добавив все запасы. Для этого нам нужно использовать jQuery each.

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

var stockTotal=0; 

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

Работа Fiddle

Надеется, что это помогает.

-Help :)

+0

Он работает хорошо, но он попросил решение, которое вычисляет запас строк. – Alteyss