cash receipts denominations using php,jquery
Posted Date:26-08-2017
In this post we will explain how to create cash receipts denominations using php,jquery
Step 1: Include jQuery Plugin and css
<source src="http://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></source> <source type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></source>
Step 2:Include following css code inside head tag
.mul_by{ width: 10%; } .mul_by .form-control{ display: inline-block; width: 66%; padding: 6px 4px; text-align: center; } .mul_val .form-control{ display: inline-block; width: 80%; padding: 6px 4px; } .tab-title { color: #31708f; font-size: 14px; font-weight: 600; margin-bottom: 1.5em; margin-top: 1.5em; text-align: center; } @media (max-width: 768px){ .mul_by{ width: 33.33%; } .control-label{ padding-top: 10px; } }
Step 2:Include following script code inside head tag
//experiment $(document).ready(function () { $('.mul_by').each(function (i) { var _this = $(this), //set default input value to zero inside .mul-by div setZero = _this.find('.form-control').val(0), //set default input value to zero inside .mul-val div setDenominationVal = _this.siblings('.mul_val').find('.form-control').val(0), //set default input value to zero inside .total div setTotalVal = $('.total').val(0); setZero.on('change keyup', function () { var _that = $(this), //watch and store input val. inside .mul_by getCurrentVal = _that.val(), //get label text and convert it to number getDenominationVal = parseInt(_this.siblings('label').text()), //update mul_by div after multiplication updateDenominationVal = _this.siblings('.mul_val').find('.form-control'), //update total if current val is set again to zero changableVal = 0, total = 0; // setZero.on('keydown', function (e) { // //console.log(e.keyCode); // //prevent user from entering non-numeric values in input box // if (e.keyCode < 48 || e.keyCode > 57){ // e.preventDefault(); // // alert('please add numeric values only'); // } // }); // console.log('getCurrentVal', getCurrentVal, _that); // console.log(getCurrentVal, getDenominationVal); //we are checking this condition for both = to 0 and > 0, so if you again set the value to zero it'll still update the total accordingly if(getCurrentVal >= 0){ //also check the multiplied value, if have value > 0 then run this code if(updateDenominationVal.val() > 0){ changableVal = updateDenominationVal.val(getCurrentVal * getDenominationVal - updateDenominationVal.val()); total = parseInt(setTotalVal.val()) + parseInt(changableVal.val()); updateDenominationVal.val(getCurrentVal * getDenominationVal); // console.log('total: ' + total, 'setTotal: ' + setTotalVal.val(), changableVal.val()); } else { // value not > 0 means in our case default is zero, then run this code changableVal = updateDenominationVal.val(getCurrentVal * getDenominationVal); // updateDenominationVal.val(getCurrentVal * getDenominationVal); total = parseInt(setTotalVal.val()) + parseInt(changableVal.val()); } // console.log(changableVal.val()); //update the total value after calculating all values setTotalVal.val(total); } else { // if negative numbers then set the last input box values to updateDenominationVal.val(0); } }); }); }); $('#cashreceipts-card-form').on('submit', function (e) { if(parseInt($('.total').val()) === 0){ // alert('atleast fill some values'); e.preventDefault(); } });
Step 2:Include following html code inside body tag
DEMO LINK:http://demo.pheonixsolutions.com/php/cash-denominations-jquery/