首页 新闻 会员 周边

table 当中如何实现累积支付的js程序操作

0
[已解决问题] 解决于 2013-06-24 10:57

这个功能是在.net语言当中实现,操作过程当点击添加行,添加第一行时,当我输入金额的时候,累积支付=金额,当点击添加行时,如果是第二行,输入金额,累积支付=第二行金额+第一行的累积支付,如果是第三行,输入金额,累积支付=第三行金额+第二行的累积支付,求大侠们赐教。。。

aXinNo1的主页 aXinNo1 | 菜鸟二级 | 园豆:370
提问于:2013-06-06 17:27
< >
分享
最佳答案
0

解决思路是:

  假设几个名字,金额这列为A列,累积金额为b列,第一行为A1,b1,第二行为A2,b2 以此类推,名字命名,这些A1,A2,b1,b2都是单元格的文本框的id。如果在现实的项目当中,你可以随意命名,因为在gridview里面命名好了之后,他会自动生成文本框的名字,所以,我们在操作每一行的金额的时候,就必须把每一行的金额,和对应的累积金额的名字取出来。

  首先你要取出gridview每一个单元格的空间的id,这个大家会想到在gridview的ItemDataBound时间里面进行。

后台代码是这样的

string control = "";//控件
        protected void dvList_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
        //金额控件
                TextBox _je = (TextBox)e.Item.FindControl("je");
        //累积金额控件
                TextBox _ljzf = (TextBox)e.Item.FindControl("ljzf");
                int _row = e.Item.ItemIndex;
                if (_row >= 1)
                    control += ";";
        //如果不是第一行,就把当前这行的前面的那些累加起来,在前台会用function (objJE, objLJZF)这个方法实现计算
                control += _je.ClientID;

        //绑定文本框离开时间
                _je.Attributes["onblur"] = "__doGetljzf('" + control + "','" + _ljzf.ClientID + "')";


            }
        }

用到的前台代码如下:

//累积支付的运算
        function __doGetljzf(objJE, objLJZF) {
            var je = 0;
            if (objJE.indexOf(";") == -1) {
                if (document.getElementById(objJE).value != "") {
                    je = parseFloat(document.getElementById(objJE).value);
                }
            } else {

                var jeArr = objJE.split(";");
                for (var i = 0; i < jeArr.length; i++) {
                    if (document.getElementById(jeArr[i]).value != "") {
                        je += parseFloat(document.getElementById(jeArr[i]).value);
                    }
                }
            }

            document.getElementById(objLJZF).value = je;


        }

不明白的可以站内短信给我。

aXinNo1 | 菜鸟二级 |园豆:370 | 2013-06-24 10:57
其他回答(3)
0

这就是数据与UI的双向绑定了

可以了解一下Knockout.js

TiestoRay | 园豆:687 (小虾三级) | 2013-06-06 17:52
0

查一下 js 操作 table 的函数就知道怎么做。

geass.. | 园豆:1821 (小虾三级) | 2013-06-07 10:21
0

稍微用点JQuery就能实现了~ 输入框:blur时出发计算方法。即可。

幻天芒 | 园豆:37175 (高人七级) | 2013-06-07 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册