| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:循环相加的问题
取消只看楼主 加入收藏
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
结帖率:65.85%
收藏
已结贴  问题点数:15 回复次数:6 
循环相加的问题
用js 怎么循环读取8个文本框的值(也可以能是9个10个..更多)  并让这些值相加

以下是我的js代码      但是 是固定的5个文本框的值cc1-cc5   怎么改成循环读取的那   比如可能是8个input  或者更多
<script language="javascript">
function calpay(){
frmx = document.form1;
obj = frmx.cc1
for(var i= 0;i< obj.length;i++){
frmx.heji[i].value=frmx.cc1[i].value*1+frmx.cc2[i].value*1+frmx.cc3[i].value*1+frmx.cc4[i].value*1+frmx.cc5[i].value*1
}
}
</script>

[ 本帖最后由 guang2356447 于 2010-7-27 16:02 编辑 ]
搜索更多相关主题的帖子: 相加 
2010-07-27 15:59
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 
用你这个代码
<p>
<script language="javascript">
function calpay(){
var obj=document.getElementsByTagName('input');
var result=document.getElementById('jieguo');
var str="";
     for(var i= 0;i< obj.length;i++)
      {
       str+=obj[i].value;
      }
    result.value=str;
}
</script>
  <input name="q" type="text" id="q" onkeyup='calpay()' onkeydown='calpay()'/>
  </p>
<p>
  <input name="qq" type="text" id="qq" onkeyup='calpay()' onkeydown='calpay()'/>
  </p>
<p>
  <input name="qqq" type="text" id="qqq" onkeyup='calpay()' onkeydown='calpay()'/>
  </p>
<p>
  <input name="qw" type="text" id="qw" onkeyup='calpay()' onkeydown='calpay()'/>
</p>
<p>
  <input name="qwe" type="text" id="qwe" onkeyup='calpay()' onkeydown='calpay()'/>
</p>
<p>
  <input name="jieguo" type="text" id="jieguo" readonly="readonly"/>
</p>
比如我每个文本框输入5    显示的是55555   应该是25      

还有个问题  比如我在第一个文本框输入5后     在jieguo那个文本框就显示5      怎么实现    我再次输入5后    jieguo那个文本框也同时显示那  清楚也一样

怎么改啊

[ 本帖最后由 guang2356447 于 2010-7-28 09:35 编辑 ]
2010-07-28 09:27
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 
还有你这个是循环所有的文本框啦

我的文本框是以行为标准的   比如一行5个  也可以8个  9个  
第二行和第一行数量一样     每一行有一个合计的文本框 显示当前行的总和
2010-07-28 09:40
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 


能不能帮忙改成    这样的

就是我在第一个文本框输入的时候  合计直接显示结果啊  在第二个输入直接显示前2个的和  而不是等输入完后 再点按钮来计算结果

还有能不能是改成无限文本框
2010-07-28 10:29
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 
我粘上我的代码给大家看
<script language="javascript">
function calpay(){
frmx = document.form1;
obj = frmx.cc1
for(var i= 0;i< obj.length;i++){
frmx.heji[i].value=frmx.cc1[i].value*1+frmx.cc2[i].value*1+frmx.cc3[i].value*1+frmx.cc4[i].value*1+frmx.cc5[i].value*1
}
}
</script>

cc1-cc5 代表  尺寸1-尺寸5
怎么改成无限制的   比如要加尺寸6  尺寸7
2010-07-28 10:44
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 
这样可以算出来啦    单只能算出第一行的总和

还有其他行那   第二行  第三行  没反应啊
    <script language="javascript">
        function calpay() {
            var heji = 0;
            for (var i = 1; i <= "<%=session("aa")%>"; i++) {
                heji += parseInt(document.getElementById('cc' + i).value);
            }
            document.getElementById('heji').value = heji;
        }
    </script>
<%
session("aa")=6
%>
2010-07-28 14:13
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 
我搞定啦    给大家看看    多谢各位

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>

<%
a=split("aa,bb,cc,dd,ee",",")
b = split("44,55,66,77,88",",")

%>
<form id="form1" name="form1" method="post" action="">
  <table width="100" border="0" cellpadding="3" cellspacing="1" bgcolor="#000000">
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <%for z = 0 to ubound(b)%>
      <td bgcolor="#FFFFFF"><%=b(z)%></td>
      <%next%>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
  <%
  for i = 0 to ubound(a)
  %>
    <tr>
      <td bgcolor="#FFFFFF"><%=a(i)%></td>
      <%for z = 0 to ubound(b)%>
      <td bgcolor="#FFFFFF"><input type="text" name="aa" id="aa" dd="<%=a(i)%>" onkeyup="calpay('<%=z%>','<%=i%>','<%=a(i)%>');" onkeydown="calpay('<%=z%>','<%=i%>','<%=a(i)%>');" /></td>
      <%next%>
      <td bgcolor="#FFFFFF"><input type="text" name="bb" id="bb" dd="<%=a(i)%>"/></td>
    </tr>
   <%next%>
  </table>
</form>


<script language="javascript">

    function calpay(a,b,ddx){

    form = document.form1;
   
    var obj = form.aa
    var xx = 0
    for(var i = 0;i<obj.length;i++){
        
        if (obj[i].getAttribute("dd")==ddx){
            xx += obj[i].value * 1
            //alert(obj[i].value)
            
            }
        }
    document.form1.bb[b].value = xx
}


</script>

</body>
</html>


2010-07-28 17:40
快速回复:循环相加的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019131 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved