DataGrid中实现输入数量和金额自动计算出总金额

 

<script language="javascript">

 //四舍五入 
 Number.prototype.toFixed=function(len)
 {
  var add = 0;
  var s,temp;
  var l = this + "";
  var start = l.indexOf(".");
  if(l.substr(start+len+1,1)>=5)add=1;
  var temp = Math.pow(10,len);
  s = Math.floor(this * temp) + add;
  return s/temp;
 }
 
 //实现计算金额 
 function count(obj)
 {
  var regInt = /^\d+$/;
  var regMondy = /^(0|[1-9]\d*)$|^(0|[1-9]\d*)\.(\d+)$/;

  // 找出TextBox
  var objParent = obj.parentElement.parentElement;
  var textBoxs = objParent.getElementsByTagName("input");
  var TxtGoodsNum = null;
  var TxtGoodsSinglePrice = null;
  var TxtGoodsSumPrice = null;
 
  for( var i=0;i < textBoxs.length;i ++)
  {
   if(textBoxs[i].id.indexOf("txtGoodsNum") != -1)
   {
    TxtGoodsNum = textBoxs[i];
   }
   else if(textBoxs[i].id.indexOf("txtGoodsSinglePrice") != -1)
   {
    TxtGoodsSinglePrice = textBoxs[i];
   }
   else if(textBoxs[i].id.indexOf("txtGoodsSumPrice") != -1)
   {
    TxtGoodsSumPrice = textBoxs[i];
   }
  }

  if(!regInt.test(TxtGoodsNum.value))
  {
   alert("数量只能是数字,请您重新输入数量。");
   return;
  }
  if(!regMondy.test(TxtGoodsSinglePrice.value))
  {
   alert("单价只能是数字,请您重新输入单价。");
   return;
  }
 
 
  var GoodsNum = parseInt(TxtGoodsNum.value); //数量
  var SinglePrice = parseFloat(TxtGoodsSinglePrice.value); //单价
  var GoodsSumPrice = GoodsNum * SinglePrice;
 
  TxtGoodsSumPrice.value = GoodsSumPrice.toFixed(3).toString();
 }
 
</script>

 

调用:

<asp:TextBox id=txtGoodsNum οnblur=count(this) runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Goods_Num") %>' Width="60px">

 

转载于:https://www.cnblogs.com/boundless/archive/2005/02/17/105065.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值