这个循环怎么写啊?

清歌浊酒 2011-09-24 02:12:47
function OnSelectStation(tc0,tc1,tc2)
{
var str1=document.getElementsByName("xm00");
var objarray1=str1.length;
var chestr1="";
for (i=0;i<objarray1;i++)
{
if(str1[i].checked == true)
{
chestr1+=str1[i].value+",";
}
}


if(chestr1=="")
{
ssy1=0

}
else
{

ssy1=document.frmGetZM.xmtc00.value*1

}


var str2=document.getElementsByName("xm01");
var objarray2=str2.length;
var chestr2="";
for (i=0;i<objarray2;i++)
{
if(str2[i].checked == true)
{
chestr2+=str2[i].value+",";
}
}


if(chestr2=="")
{
ssy2=0

}
else
{

ssy2=document.frmGetZM.xmtc01.value*1

}

var str3=document.getElementsByName("xm02");
var objarray3=str3.length;
var chestr3="";
for (i=0;i<objarray3;i++)
{
if(str3[i].checked == true)
{
chestr3+=str3[i].value+",";
}
}


if(chestr3=="")
{
ssy3=0

}
else
{

ssy3=document.frmGetZM.xmtc02.value*1

}

var str4=document.getElementsByName("xm03");
var objarray4=str4.length;
var chestr4="";
for (i=0;i<objarray4;i++)
{
if(str4[i].checked == true)
{
chestr4+=str4[i].value+",";
}
}


if(chestr4=="")
{
ssy4=0

}
else
{

ssy4=document.frmGetZM.xmtc03.value*1

}

var str5=document.getElementsByName("xm04");
var objarray5=str5.length;
var chestr5="";
for (i=0;i<objarray5;i++)
{
if(str5[i].checked == true)
{
chestr5+=str5[i].value+",";
}
}


if(chestr5=="")
{
ssy5=0

}
else
{

ssy5=document.frmGetZM.xmtc04.value*1

}

tc0.value=ssy1*1+ssy2*1+ssy3*1+ssy4*1+ssy5*1
}

谢谢了!
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-09-25
  • 打赏
  • 举报
回复
楼主还是把html代码附上 用那个来做说明下你的需求~~~
清歌浊酒 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 blue_lg 的回复:]
JScript code


var strs=new Array();
var chestrs=new Array();
var ssy=0;
for(var i=0;i<5;i++){
strs[i]=document.getElementsByName("xm0"+i);
chestrs[i]="";
for (j=0;j<strs[i].length;j++)
{
……
[/Quote]

谢谢!麻烦您看下我在6楼给的html页面。

ssy+=parseInt(chestrs[i]==""?0:document.frmGetZM.xmtc02.value*1);
这句中,ssy的值复称框全部选中的情况下应该是document.frmGetZM.xmtc0+j.value*1相加,该怎么写呢?

如果在您的代码外面再加一层循环
for (x=0;x<3;x==)
{

}
strs[i]=document.getElementsByName("xm0"+i);
document.frmGetZM.xmtc0+j.value*1

上面那两句变成

strs[i]=document.getElementsByName("xm"+x+i);
document.frmGetZM.xmtc+x+j.value*1
求tc+x,该如何实现呢?
BLUE_LG 2011-09-25
  • 打赏
  • 举报
回复

var strs=new Array();
var chestrs=new Array();
var ssy=0;
for(var i=0;i<5;i++){
strs[i]=document.getElementsByName("xm0"+i);
chestrs[i]="";
for (j=0;j<strs[i].length;j++)
{
if(strs[i][j].checked == true)
{
chestrs[i]+=strs[i][j].value+",";
}
}
ssy+=parseInt(chestrs[i]==""?0:document.frmGetZM.xmtc02.value*1);
}
tc0.value=ssy;

楼主再调试下。。。
清歌浊酒 2011-09-25
  • 打赏
  • 举报
回复
谁能帮帮忙,问题在6楼。
清歌浊酒 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fanchuanzhidu 的回复:]
楼主还是把html代码附上 用那个来做说明下你的需求~~~
[/Quote]
<form name="frmGetZM" method="POST" action="?">
<div align="center">
<table border="0" cellpadding="3" cellspacing="0">
<%For i=0 To 2%>
<tr>
<%For z=0 To 4%>
<td><input type="checkbox" name="xm<%=i%><%=z%>" value="<%=name(i,z)%>" onchange="OnSelectStation(document.frmGetZM.tc0,document.frmGetZM.tc1,document.frmGetZM.tc2)"></td>
<td><input type="text" name="xmtc<%=i%><%=z%>" size="6" value="<%=count(i,z)%>"> 元</td>
<%next%>
<td><input style="text-align: right" type="text" name="tc<%=i%>" size="6" ReadOnly> 元</td>
</tr>
<%next%>
</table>
</div>
</form>

asp代码如上。

要实现的功能:
每一行文本框(xmtc<%=i%><%=z%>)内的数值,在复选框(xm<%=i%><%=z%>)选中的情况进行相加,结果在每行最后的文本框(tc<%=i%>)内显示。
清歌浊酒 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blue_lg 的回复:]
楼上把问题描述细一点呢?
[/Quote]
SORRY,可能我把问题想得太容易了。

这段代码,实际运行已经通过,只要看一段就可以了,一共五段,只是变量后面的数字不同,就是想把这五段用循环来实现。我刚学,不大会用JAVASCRIPT的循环。

tc0,tc1,tc2是html页用来接收运算结果的,是个文本框表单名。

其实这段代码外还应有个循环,用来循环tc0--tc2

xm00,xm01......是复选表单名,如果选中就把相应的xmtc00.....的值相加赋给tc0
xm10,xm11......是复选表单名,如果选中就把相应的xmtc10.....的值相加赋给tc1
xm20,xm21......是复选表单名,如果选中就把相应的xmtc20.....的值相加赋给tc2

下面就是我想要最终实现的结果,就是中间的代码不知道应该如何写。
for (i=0;i<4;i++)
{
for (x=0;x<6;x++)

{
tc[i].value=tc[i].value+ssy[i,x]*1
}
}
BLUE_LG 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blue_lg 的回复:]

楼上把问题描述细一点呢?
[/Quote]
不是,是楼主。
BLUE_LG 2011-09-24
  • 打赏
  • 举报
回复
楼上把问题描述细一点呢?
光曰不日 2011-09-24
  • 打赏
  • 举报
回复
有辱斯文撒!全代码米一句注释,让人家猜啊?代码还来个长!

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧