请问:如何各项统计并汇总得到的记录?比如每行记录中都有一个 单价,个数和总价最后有一个合计。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>

解决方案 »

  1.   

    这是问javascript的问题还是jsp的问题...
      

  2.   

    我怎么读不懂你的问题~~不会因为"小女"两个字吧。你的Script好象没问题啊,那样是统计的结果啊,那为什么问“请问:如何各项统计并汇总得到的记录?”?代码中两次While嵌套循环有什么意义??第一个应该该为if吧
      

  3.   

    <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();">
      

  4.   

    为什么要在javascript中计算各条记录单价与数量的合计,用
    select (单价*数量) as 合计 from table
    然后getInt("合计")得出合计值,不行吗?这样是不是会加重服务器负担?
      

  5.   

    你说的是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>