小妹不才,想问个 javascript 的小问题! 急死人了!!!

Leninainfo1 2006-02-15 04:28:14


请问:如何各项统计并汇总得到的记录?

比如每行记录中都有一个 单价,个数和总价最后有一个合计。

5.50 1 5.50 (5.50为单价,1为个数,5.50就是用javascript计算得出来的值)
3.00 4 12.00 (3.00为单价,4为个数,12.00就是用javascript计算得出来的值)
6.00 5 30.00 (6.00为单价,5为个数,30.00就是用javascript计算得出来的值)
8.00 2 16.00 (8.00为单价,2为个数,16.00就是用javascript计算得出来的值)
1.00 4 4.00 (1.00为单价,4为个数,4.00就是用javascript计算得出来的值)
...

合计价格为:67.50 (这也是用javascript累计上面的 5.50+12.00+30.00+16.00+4.00得出来的值,都是动态的值)

我的程序大致如下:

<html>
<script language="javascript">
<!--
function totalDs()
{
var dss = document.getElementsByName("ds");
if(dss != null)
{
var ds = 0;
for(var i = 0; i < dss.length; i++)
{
ds += (dss[i].value - 0);
}
document.ygzxList.dingshu.value = ds;
}
}

function totalDj()
{
var djs = document.getElementsByName("dj");
if(djs != null)
{
var dj = 0;

for(var i = 0; i < djs.length; i++)
{
dj += (djs[i].value - 0);
}
document.ygzxList.dingjia.value = dj;
}
}
//-->
</script>

<body onLoad="totalDs();totalDj();">

<form name="ygzxList" action="" method="post">

<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tttt";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from table";
ResultSet rs = stmt.executeQuery(sql);

while( rs.next() )
{
%>
<table width="100%" border="1">
<tr>
<td width="50%">
<table width="100%" border="0">
<%
rs.beforeFirst();
while(rs.next() )
{
%>
<tr>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><input type="text" name="dj" size="8" value="<%=rs.getString(4)%>"></td>
<td><input type="text" name="ds" size="3" value="<%=rs.getString(6)%>"></td>
<td><input type="text" name="tempDj" size="8"></td>
</tr>
<%
}
%>
</table>
</td>
</tr>
</table>
<%
}
%>


<input type="text" name="dingshu">

<input type="text" name="dingjia">

</form>

</body>
</html>
...全文
188 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leninainfo 2006-02-16
非常感谢:chouchy(城市刀客)
回复
mingxuan3000 2006-02-16
...
回复
jspxnet 2006-02-16
小妹,你的程序这样写可能会有问题哦
回复
xuyadong 2006-02-16
呵呵,加重服务器负担。
回复
左大神在这 2006-02-16
你说的是JAVASCRIPT,我暂时就帮你解决,数据库方面的就你自己搞,因为需要环境,测试麻烦,不好意思,下边是完整的代码:
<html>
<head></head>
<script language="javascript">
function getValue(){
var str=0.00;
var arr1 = [5.50,3.00,6.00,8.00,1.00];
var arr2 = [1,4,5,2,4];
try{
for(var i=0;i<arr1.length;i++){
str+=arr1[i]*arr2[i];
}
}catch(ex){
alert(ex);
}finally{
alert(str);
}
}
</script>
<body>
<a href="#" onClick="getValue();">test</a>
</body>
</html>

回复
zhang11wu4 2006-02-15
为什么要在javascript中计算各条记录单价与数量的合计,用
select (单价*数量) as 合计 from table
然后getInt("合计")得出合计值,不行吗?这样是不是会加重服务器负担?
回复
chouchy 2006-02-15
<script language="javascript">
<!--
function getTotal()
{
var djs = document.getElementsByName("dj");
var dss = document.getElementsByName("ds");
var tempdjs=document.getElementsByName("tempDj");
var ds = dj=0;
for(var i = 0; i < tempdjs.length; i++)
{
tempdjs[i].value=djs[i].value*dss[i].value;
ds += (dss[i].value-0);
dj += (tempdjs[i].value-0);
}
document.ygzxList.dingshu.value = ds;
document.ygzxList.dingjia.value = dj;
}

//-->
</script>

<body onLoad="getTotal();">
回复
yifei170 2006-02-15
我怎么读不懂你的问题~~不会因为"小女"两个字吧。你的Script好象没问题啊,那样是统计的结果啊,那为什么问“请问:如何各项统计并汇总得到的记录?”?代码中两次While嵌套循环有什么意义??第一个应该该为if吧
回复
yifei170 2006-02-15
晕~~在要回答的刹那,音响里响起了"冲动的惩罚",于是我犹豫了
回复
vvpang 2006-02-15
一看到美女问问题,就进来了。。

先顶一下。。嘿嘿
回复
Leninainfo1 2006-02-15
页面加载的时候计算!计算的值放在最后的统计文本框中!
回复
HeBuOl 2006-02-15
这是问javascript的问题还是jsp的问题...
回复
fog628 2006-02-15
是在什么时候计算?计算好的值放在哪里?
回复
Leninainfo1 2006-02-15
快救命呀.....
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-02-15 04:28
社区公告
暂无公告