Lệnh JS để tính toán ô nhập liệu

  1. Form nhập liệu xml_form.aspx
  2. Lưới Grid Form

=============

1. Form nhập liệu xml_form.aspx (form đơn)
Ví dụ có 3 ô:
Số lượng có name là SL
Đơn giá có name là DG
Thành tiền có name là TT

Thêm lệnh scrip vào: SysObject -> Form Input -> Input_Page_AddHtml

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


2. Với Grid Form (Form có lưới nhập liệu như excel)


* Cấu hình tạo biến JS tổng và hiển thị tổng bên dưới (Nếu có tổng bên dưới)

  * Vào SysObject -> Grid_Form_Input -> Grid_Form_Config
<var_create_js_compute>
TONG_ThanhTien</>Sum(ThanhTien)
Tong_SoLuong</>Sum(SoLuong)
</var_create_js_compute>

Để in
biến này ra bên dưới ta làm như sau
  SysObject -> Grid_Form_Input -> Grid_Form_Page_AddHtml
<script>
  //alert(TONG_ThanhTien);
  $(".foot_ThanhTien").html("<div class='text-right font-weight-bold mr-2'><span>"+TONG_ThanhTien.NumFormat()+"</span></div>" );
</script>



* Thêm lệnh để tính toán các cột

B1: Thêm lệnh script vào 
  SysObject -> Grid_Form_Input -> Grid_Form_Page_AddHtml

<script>
  $(function(){  
    $('[name$=SoLuong]').keyup(function(){
        //var tr_dong = $(this).parent().parent();    // nếu input html là: number
        var tr_dong = $(this).parent().parent().parent(); //nếu input html: number2
        tinhToan(tr_dong );
    });
   
    $(' [name$=DonGia]').keyup(function(){
        //var tr_dong = $(this).parent().parent();    // nếu input html là: number
        var tr_dong = $(this).parent().parent().parent(); //nếu input html: number2
        tinhToan(tr_dong );
    });
   
    //nếu có su dung input html: number2
    $('.qty-up,.qty-down').on("click", function(){
        var tr_dong = $(this).parent().parent().parent();
        tinhToan(tr_dong );
    }); //qty-up,.qty-down
   
   
  });
 
  function tinhToan(tag_tr )
  {
      var sl= parseFloat(tag_tr.find("[name$=SoLuong]").val()) || 0;
      var dg= parseFloat(tag_tr.find("[name$=DonGia]").val()) || 0;
      tag_tr.find("[name$=ThanhTien]").val(sl*dg);  
      setSumAll(); //nếu có sử dụng tính tổng bên dưới
  }
 // Tính tổng bên dưới
  function setSumAll()
  {
    var tong=0;
    $( '[name=ThanhTien]' ).each(function( index ) {          
             tong+= parseFloat( $('[name=ThanhTien]').eq(index).val() ) || 0 ;    
    });
    $(".foot_ThanhTien").find("span").text(tong.NumFormat());
  }//setSumAll
   //Nếu có tổng bên dưới
  $(".foot_ThanhTien").html("<div class='text-right font-weight-bold mr-2'><span>"+TONG_ThanhTien.NumFormat()+"</span></div>" );

</script>

 

Mục liên quan: