您的位置:首页 > Web前端 > JQuery

利用jquery对动态生成的文本进行求和计算

2014-06-09 22:07 393 查看
前台代码:

 

<%@ Page Title="主页" Language="C#"  AutoEventWireup="true"

    CodeBehind="Default.aspx.cs" Inherits="WebApplication9._Default" %>

<html>

<head>

<script type="text/javascript" src="Scripts/jquery-1.4.1.js" ></script>

<script type="text/javascript" >

    //解决浮点数相加偏差

    function accAdd(arg1, arg2) {

        var r1, r2, m;

        try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }

        try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }

        m = Math.pow(10, Math.max(r1, r2))

        return (accMul(arg1, m) + accMul(arg2, m)) / m

    }

    //解决浮点数相差偏差

    function accMul(arg1, arg2) {

        var m = 0, s1 = arg1.toString(), s2 = arg2.toString();

        try { m += s1.split(".")[1].length } catch (e) { }

        try { m += s2.split(".")[1].length } catch (e) { }

        return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)

    }

    $(document).ready(function () {

        $(":text[id!='txtSum']").blur(function () {//给除了总和的TEXT在光标离开的时候进行求和计算

            var objZje = document.getElementById('txtSum');

            var sum = 0;

            if (objZje) {

                $(":text[id!=txtSum]").each(function () {//累计计算

                    var temp = $(this).attr('value');

                    var str = /^\d+(\.\d+)?$/     //判断文本内容是否为数字

                    if (str.test(temp)) {

                        sum = accAdd(sum, parseFloat(temp,10));

                    }

                });

                objZje.value = sum;

            }

        });

    });

</script>

</head>

<body>

<form id="form1" runat="server" >

加项1<input type="text" id="txt1" />加项2<input type="text" id="txt2" />加项3<input type="text" id="txt3" />

总和<input type="text" id="txtSum" />

</form>

</body>

</html>

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息