Tạo công thức tính toán giữa các ô input định dạng số

Tạo công thức tính toán giữa các ô input định dạng số

1. Tính toán các ô input của Query

$(document).ready(function(){
     $('[name=TongTienHang]').number( true, 0,',','.' );
     $('[name=TienGio]').number( true, 0,',','.' );
     $('[name=PhiKhac]').number( true, 0,',','.' );
     $('[name=TongCongTienPhaiThanhToan]').number( true, 0,',','.' );
});

Cú pháp:
     $('[name=TênÔ]').number( true, 0,'x','y' );
* 0 là 0 số lẻ
* x là dấu cách số thập phân, x là ,
* ý là dấu cách số thập phân, y là .
Ví dụ:
   10000 thì kết quả là 10.000
    12 và 0,5 thì kết quả là  12,5

*** Chú ý: Khi submit giá trị thì
Cho dù định dạng khác nhau nhưng khi submit giá trị
   Vd: 
    10.000 thì giá trị submit là 10000   (sẽ bỏ dấu . ngắn cách nhóm số)
    10.000,23 thì giá trị submit là 10000.23 (sẽ bỏ dấu . ngắn cách nhóm số và số lẻ , thay thành dấu .)
 
Trong JS dùng hàm in ra để xem
 $("#ButtonX").click(function(){
   alert(  $('[name=SL]').val()  );
 });


 *** Khi gởi tới Server biên dịch hệ thống sẽ chuyển dấu . thành dấu ,
       10.000,23   -> server chuyển là 10000.23
      * Như vậy lưu sẽ thành công, vì hệ thống mặc định:

System.Threading.Thread.CurrentThread.CurrentCulture
       = new System.Globalization.CultureInfo("Fr-fr", true);
* Dùng cho Form 1 bảng ghi
<script>
 $(function(){  
      $('[name$=SL], [name$=DG]').keyup(function(){
       var soluong= parseFloat($('[name$=SL]').val()) || 0;
     var dongia= parseFloat($('[name$=DG]').val()) || 0;
   
      var thanhtien= soluong* dongia;
      $('[name$=TT]').val(thanhtien);
   });
  });
</script>
Sau đó add lệnh trên vào Input_Page_AddHtml của Form

Tham khảo thêm
Tính toán các ô input của Query


* Dùng cho Form nhiều bảng ghi

Nếu các ô input nằm trong dom table
<script>
 $(function(){  
      $('[name$=SoLuong], [name$=DonGia]').keyup(function(){
        dom_tr = $(this).parent().parent();
        dom_soluong= dom_tr.find("[name$=SoLuong]");
        dom_dongia = dom_tr.find("[name$=DonGia]");
       dom_thanhtien = dom_tr.find("[name$=ThanhTien]");
     //
   var soluong= parseFloat(dom_soluong.val()) || 0;
   var dongia= parseFloat(dom_dongia .val()) || 0;
   var thanhtien= soluong* dongia;
  dom_thanhtien.val(thanhtien);
   });
  });
</script>


2. Tạo ô input số có nút + và -
Tạo HTML:

  <div class="soluong_input clearfix">
    <div class="cap">Số lượng: </div>
    <div >
         <input name="SoLuong" class="txt_num" type="text" value="" />
              <input class="qty-down btn btn-sm btn-warning" type="button"   value="-" />
              <input class="qty-up btn btn-sm btn-info"  type="button"   value="+" />
       </div>
    
  </div>

<script type="text/javascript">
$(document).ready(function(){
     $('[name=SoLuong]').number( true, 0,',','.' );
});

$('.
soluong_input').each(function() {
    var $this = $(this),
        $input = $this.find('input[type="text"]'),
        up = $this.find('.qty-up'),
        down = $this.find('.qty-down');   
   // s: event
down.on('click', function () {

            var value = parseInt($input.val()) -  1;
            value = value < 1 ? 1 : value;
            $input.val(value);
            $input.change();
        })

        up.on('click', function () {
            var value = parseInt($input.val()) +1;
            $input.val(value);
            $input.change();
        })
   // e: event

    });
</script>