Js_页面计算

Web应用有时会应该用到页面计算,例如有四项费用,用户填写的时候,页面实现计算,一般用js实现。

               <tr>
                    <td width="8%" height="20" class="tdlabel">费用1:                        
                    </td>
                    <td width="17%">
                        <asp:TextBox ID="fy1" runat="server" οnblur="comze()" class="easyui-numberbox" data-options="precision:2,groupSeparator:','" style="text-align:right;"></asp:TextBox>
                    </td>
                    <td>
                    </td>
                    <td width="8%" height="20" class="tdlabel">费用2:                        
                    </td>
                    <td width="17%">
                        <asp:TextBox ID="fy2" runat="server" οnblur="comze()" class="easyui-numberbox" data-options="precision:2,groupSeparator:','" style="text-align:right;"></asp:TextBox>
                    </td>
                    <td>
                    </td>
                     <td width="8%" height="20" class="tdlabel">费用3:                        
                    </td>
                    <td width="17%">
                        <asp:TextBox ID="fy3" runat="server" οnblur="comze()" class="easyui-numberbox" data-options="precision:2,groupSeparator:','" style="text-align:right;"></asp:TextBox>
                    </td>
                     <td>
                    </td>           
                     <td width="8%" height="20" class="tdlabel">费用4:
                    </td>
                    <td width="17%">
                        <asp:TextBox ID="fy:4" runat="server" οnblur="comze()" class="easyui-numberbox" data-options="precision:2,groupSeparator:','" style="text-align:right;"></asp:TextBox>
                    </td>
                    <td>
                    </td>
                </tr>
我们使用easyui的numberbox控件,保留两位小数,金额超过千元用逗号分隔,右对齐,排版完毕。

输入完毕,失去焦点的时候,我们调用js函数,comze(),下面看代码:

       function comze() {

            var fy1 = document.getElementById("fy1").value;
            fy1 = initvalue(fy1);
            
            var fy2 = document.getElementById("fy2").value;
            fy2 = initvalue(fy2);
            
            var fy3 = document.getElementById("fy3").value;
            fy3 = initvalue(fy3);

            var fy4 = document.getElementById("fy4").value;
            fy4 = initvalue(fy4); 

            document.getElementById("je").value = (Number(fy1) + Number(fy2) + Number(fy3) + Number(fy4)).toFixed(2);

        }   
        
        function initvalue(fy) {
        
            var replaceStr = ','; //要替换的字符串
            if (fy == "") {
                fy = "0";
            }
            else {
                fy = fy.replace(new RegExp(replaceStr, 'g'), '');
            }
            return fy;            
        }
因为可能没有填写,也可能大于1000,所以对输入的数据,进行初始处理一下,然后再计算,计算结果保留两位小数。

【注意】:因为使用了easyui的控件,需要引入jquery和esayui,不赘述了。numberbox控件只能输入数值,不用再用代码判断输入信息是否合法了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值