javascript - Calculating Subtotals for Category Sections Using Class Names -


i'm working on project based on excel spreadsheet, need calculate budgets, etc. there various categories in table, , need calculate subtotal of each category. here's screenshot make more clear: http://i.imgur.com/loylbw7.png

my problem is, i'm not sure how calculate subtoal each category. right now, have $('.subcat100 .budget').each(function(). class "subcat100" attached tr , changes each category section (subcat100, subcat200, subcat300, etc.). numerical value based off sub category number stored in database. how pull of these classes , iterate through them?

jquery:

    $(document).ready(function() {          $('input[name="txtquantity[]"],input[name="txtunitcost[]"]').change(function(e) {             var budget = 0;             var $row = $(this).parent().parent();             var quanity = $row.find('input[name="txtquantity[]"]').val();             var unitcost = $row.find('input[name="txtunitcost[]"]').val();             budget = parsefloat(quanity * unitcost);             var decimal = budget.tofixed(2);             $row.find('.budget').val(decimal);              var sum = 0;             $('.subcat100 .budget').each(function() {                 var budgets = $(this).val();                 console.log(budgets);                 if (isnumeric(budgets)) {                     sum += parsefloat(budgets, 10);                 }             });             $('.subcat100 .budgetsubtotal').val(sum);         });          function isnumeric(input) {             return (input - 0) == input && input.length > 0;         }      }); 

html:

    <table>         <tbody>             <tr class="subcat100">                 <td>                     <span name="txtitemcode[]"><strong>100</strong></span>                 </td>                 <td colspan="7">                     <span name="txtsubcategoryname[]" class="100"><strong>land purchase costs</strong></span>                 </td>             </tr>             <tr class="subcat100">                 <td>                     <input type="text" name="txtsubitemcode[]" size="10" readonly="readonly" value="101">                 </td>                 <td>                     <input type="text" name="txtitem[]" size="50" readonly="readonly" value="purchase price">                 </td>                 <td>                     <input type="text" name="txtunit[]" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtquantity[]" class="integer" size="10" value="1">                 </td>                 <td>                     <input type="text" name="txtunitcost[]" class="monetary" size="10" value="299.99">                 </td>                 <td>                     <input type="text" name="txtbudget[]" class="monetary budget" size="10" readonly="readonly" value="299.99">                 </td>                 <td>                     <input type="text" name="txtactual[]" class="monetary" size="10" value="249.99">                 </td>                 <td>                     <input type="text" name="txtdifference[]" class="monetary difference" size="10" readonly="readonly" value="50.00">                 </td>             </tr>             <tr class="subcat100">                 <td>                     <input type="text" name="txtsubitemcode[]" size="10" readonly="readonly" value="110">                 </td>                 <td>                     <input type="text" name="txtitem[]" size="50" readonly="readonly" value="realtor's fees">                 </td>                 <td>                     <input type="text" name="txtunit[]" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtquantity[]" class="integer" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtunitcost[]" class="monetary" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtbudget[]" class="monetary budget" size="10" readonly="readonly" value="">                 </td>                 <td>                     <input type="text" name="txtactual[]" class="monetary" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtdifference[]" class="monetary difference" size="10" readonly="readonly" value="">                 </td>             </tr>             <tr class="subcat100">                 <td>                     <input type="text" name="txtsubitemcode[]" size="10" readonly="readonly" value="120">                 </td>                 <td>                     <input type="text" name="txtitem[]" size="50" readonly="readonly" value="due diligence">                 </td>                 <td>                     <input type="text" name="txtunit[]" size="10" value="">                 </td>                 <td>                     <input type="text" name="txtquantity[]" class="integer" size="10" value="15">                 </td>                 <td>                     <input type="text" name="txtunitcost[]" class="monetary" size="10" value="45.00">                 </td>                 <td>                     <input type="text" name="txtbudget[]" class="monetary budget" size="10" readonly="readonly" value="675.00">                 </td>                 <td>                     <input type="text" name="txtactual[]" class="monetary" size="10" value="700.00">                 </td>                 <td>                     <input type="text" name="txtdifference[]" class="monetary difference" size="10" readonly="readonly" value="-25.00">                 </td>             </tr>             <tr class="subcat100">                 <td colspan="5">                     <span><strong>subtotal</strong></span>                 </td>                 <td>                     <input type="text" name="txtsubtotalbudget[]" class="budgetsubtotal" size="10" readonly="readonly" value="">                 </td>                 <td>                     <input type="text" name="txtsubtotalactual[]" class="actualsubtotal" size="10" readonly="readonly" value="">                 </td>                 <td>                     <input type="text" name="txtsubtotaldifference[]" class="differencesubtotal" size="10" readonly="readonly" value="">                 </td>             </tr>         </tbody>     </table> 

well, ended doing this:

    var itemcodes = <?php echo json_encode($arritemcodes);?>;      $('input[name="txtquantity[]"],input[name="txtunitcost[]"]').change(function(e) {         var budget = 0;         var $row = $(this).parent().parent();         var quanity = $row.find('input[name="txtquantity[]"]').val();         var unitcost = $row.find('input[name="txtunitcost[]"]').val();         budget = parsefloat(quanity * unitcost);         $row.find('.budget').val(budget.tofixed(2));          $.each(itemcodes, function(intindex, objvalue) {             var sum = 0;             $('.subcat' + objvalue + ' .budget').each(function() {                 var budgets = $(this).val();                 console.log(budgets);                 if (isnumeric(budgets)) {                     sum += parsefloat(budgets, 10);                 }             });             $('.subcat' + objvalue + ' .budgetsubtotal').val(sum.tofixed(2));         });     }); 

open other suggestions!


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -