2016-04-16 7 views
3

Ich habe paar Zeilen und multipliziert einige Daten summieren Summen zu erhalten:Wie JQuery Ausgänge

current Output

Aber ich bin nicht sicher, wie alle Summen zu summieren und es in „Cash in Hand“ drucken Reihe.

Im Folgenden sind meine Codes:

<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.row1').keyup(function(ev){ 
 
     
 
     var row1c = $(this).val() * 1000; 
 
     $('.row1c').html((row1c).toFixed(2)); 
 

 
    }); 
 
}); 
 
</script> 
 

 
<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.row2').keyup(function(ev){ 
 
     
 
     var row2c = $(this).val() * 500; 
 
     $('.row2c').html((row2c).toFixed(2)); 
 

 
    }); 
 
}); 
 
</script> 
 

 

 
<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.row3').keyup(function(ev){ 
 
     
 
     var row3c = $(this).val() * 100; 
 
     $('.row3c').html((row3c).toFixed(2)); 
 

 
    }); 
 
}); 
 
</script> 
 

 

 
<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.row4').keyup(function(ev){ 
 
     
 
     var row4c = $(this).val() * 50; 
 
     $('.row4c').html((row4c).toFixed(2)); 
 

 
    }); 
 
}); 
 
</script> 
 

 
<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.row5').keyup(function(ev){ 
 
     
 
     var row5c = (row1c+row2c+row3c+row4c); 
 
     $('.row5c').html((row5c).toFixed(2)); 
 

 
    }); 
 
}); 
 
</script>
<table border="2" cellpadding="5" cellspacing="2" align="center"> 
 
     
 
     <h3 align="center">Cash Position as on...... </h3> 
 
      <tr> 
 
        <th>Note</th> 
 
        <th>Quantity</th> 
 
        <th>Total</th> 
 
      </tr> 
 

 

 
      <tr> 
 
       <td>1000 Tk Note</td> 
 
       <td><input type="text" name="pages" class="row1" /></td> 
 
       <td><span class="row1c">0.00</span></td> 
 
      </tr> 
 

 
      <tr> 
 
       <td>500 Tk Note</td> 
 
       <td><input type="text" name="pages" class="row2" /></td> 
 
       <td><span class="row2c">0.00</span></td> 
 
      </tr> 
 

 
      <tr> 
 
       <td>100 Tk Note</td> 
 
       <td><input type="text" name="pages" class="row3" /></td> 
 
       <td><span class="row3c">0.00</span></td> 
 
      </tr> 
 

 
      <tr> 
 
       <td>50 Tk Note</td> 
 
       <td><input type="text" name="pages" class="row4" /></td> 
 
       <td><span class="row4c">0.00</span></td> 
 
      </tr> 
 

 

 

 

 

 
      <tr> 
 
       <td colspan ="2">Cash In Hand (Sum of All Totals)</td> 
 
      
 
       <td><span class="row5c">0.00</span></td> 
 
      </tr> 
 

 
    </table>

Alle hier zusammen Codes:

https://jsfiddle.net/rashelmiah/fb9opo36/1/

Könnten Sie mir einen Weg finden, bitte alle Summen zu summieren? Vielen Dank im Voraus.

Antwort

3

Sie müssen den folgenden Code hinzufügen.

$('input[type=text]').keyup(function(){ 
    var total = 0; 
    $('input[type=text]').each(function(){ 
     total += Number($(this).parent().next().find('span').text()); 
    }) 
    $('.row5c').text(total); 
}) 

Hinweis: Ihr Code viel <script> Tags hatte, die unnötig war. Und eine Menge von ready() Funktion, die auch unnötig war. Sie können den gesamten Code innerhalb eines <script> Tags und einer ready() Funktion einpacken.

Demo:

$(document).ready(function() { 
 
    $('.row1').keyup(function(ev){ 
 
     
 
     var row1c = $(this).val() * 1000; 
 
     $('.row1c').html((row1c).toFixed(2)); 
 

 
    }); 
 
    $('.row2').keyup(function(ev){ 
 
     
 
     var row2c = $(this).val() * 500; 
 
     $('.row2c').html((row2c).toFixed(2)); 
 

 
    }); 
 
    
 
    $('.row3').keyup(function(ev){ 
 
     
 
     var row3c = $(this).val() * 100; 
 
     $('.row3c').html((row3c).toFixed(2)); 
 

 
    }); 
 
    $('.row4').keyup(function(ev){ 
 
     
 
     var row4c = $(this).val() * 50; 
 
     $('.row4c').html((row4c).toFixed(2)); 
 

 
    }); 
 

 
    $('.row5').keyup(function(ev){ 
 
     
 
     var row5c = (row1c+row2c+row3c+row4c); 
 
     $('.row5c').html((row5c).toFixed(2)); 
 

 
    }); 
 
    
 
    $('input[type=text]').keyup(function(){ 
 
    var total = 0; 
 
    $('input[type=text]').each(function(){ 
 
     total += Number($(this).parent().next().find('span').text()); 
 
    }) 
 
    $('.row5c').text(total.toFixed(2)); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="2" cellpadding="5" cellspacing="2" align="center"> 
 

 
    <h3 align="center">Cash Position as on...... </h3> 
 
    <tr> 
 
    <th>Note</th> 
 
    <th>Quantity</th> 
 
    <th>Total</th> 
 
    </tr> 
 

 

 
    <tr> 
 
    <td>1000 Tk Note</td> 
 
    <td> 
 
     <input type="text" name="pages" class="row1" /> 
 
    </td> 
 
    <td><span class="row1c">0.00</span> 
 
    </td> 
 
    </tr> 
 

 
    <tr> 
 
    <td>500 Tk Note</td> 
 
    <td> 
 
     <input type="text" name="pages" class="row2" /> 
 
    </td> 
 
    <td><span class="row2c">0.00</span> 
 
    </td> 
 
    </tr> 
 

 
    <tr> 
 
    <td>100 Tk Note</td> 
 
    <td> 
 
     <input type="text" name="pages" class="row3" /> 
 
    </td> 
 
    <td><span class="row3c">0.00</span> 
 
    </td> 
 
    </tr> 
 

 
    <tr> 
 
    <td>50 Tk Note</td> 
 
    <td> 
 
     <input type="text" name="pages" class="row4" /> 
 
    </td> 
 
    <td><span class="row4c">0.00</span> 
 
    </td> 
 
    </tr> 
 

 

 

 

 

 
    <tr> 
 
    <td colspan="2">Cash In Hand (Sum of All Totals)</td> 
 

 
    <td><span class="row5c">0.00</span> 
 
    </td> 
 
    </tr> 
 

 
</table>

+0

Ja, das funktioniert. Danke Roy für die Hilfe. –

+0

Wie auch immer, es fügt keine .00 nach der Summe hinzu. –

+0

Aktualisierte den Code. Und bitte markieren Sie korrekt, wenn es Ihre Anfrage beantwortet. – Roy