<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function dataCal(){
var sum=0;
var str = "";
var str2 = "";
var obj=document.getElementsByName("items[]"); //取得页面所有的items复选框对象
for(var i=0;i<obj.length;i++)
{
    if(!obj[i].checked)
       continue;       //如果没有选中,则执行下一次
    sum+=parseFloat(obj[i].dingid);    //如果被选中的话,则累加求和
        str += obj[i].value;
//               str2 +=obj[i].fz.value;//怎么取得数量?
}
AddUserForm.jieguo.value=+sum; 
AddUserForm.guo.value=+str;
AddUserForm.guo2.value=+str2;
        alert("您当前已选购:"+str+",总价为: "+sum+" 元,总数量:"+str2+"个");
}
</script>
</head>
<body>
<form name=AddUserForm method="POST" action="upgrade.php?mid=^MID^">
<table border="1" cellpadding="3" width="500" bgcolor="#a6d2ff" bordercolordark="#FFFFFF">
     <tr>
         <td align="center">选择</td>
         <td align="center">数量</td>
         <td align="center">金额</td>
         <td align="center">说 明</td>
     </tr>
     <tr>
         <td align="center" bgcolor="#ffffff"><input type="checkbox" value="衣服×1 " name="items[]" onclick="dataCal(this,'b1')" dingid="100"></td>
         <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b1' /> 
         件</td>
         <td align="center" bgcolor="#ffffff">100元</td>
         <td bgcolor="#ffffff">衣服</td>
     </tr>
     <tr>
         <td align="center" bgcolor="#ffffff"><input type="checkbox" value="裤子×? " name="items[]" onclick="dataCal(this,'b2')" dingid="60"></td>
         <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="2" maxlength="3" size="3" id='b2' /> 
         条</td>
         <td align="center" bgcolor="#ffffff">60元</td>         <td bgcolor="#ffffff">裤子</td>
     </tr>
     <tr>
         <td align="center" bgcolor="#ffffff"><input type="checkbox" value="鞋子×1 " name="items[]" onclick="dataCal(this,'b3')" dingid="30"></td>
         <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b3' /> 
         双</td>
         <td align="center" bgcolor="#ffffff">30元</td>
         <td bgcolor="#ffffff">鞋子</td>
     </tr>
     <tr>
         <td align="center" bgcolor="#ffffff"><input type="checkbox" value="帽子×1 " name="items[]" onclick="dataCal(this,'b4')" dingid="20"></td>
         <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b4' /> 
         顶</td>
         <td align="center" bgcolor="#ffffff">20元</td>
         <td bgcolor="#ffffff">帽子<input type="hidden" name="jieguo" value="0" ><input type="hidden" name="guo" value=""><input type="hidden" name="guo2" value=""></td>
     </tr></table></form>
</body>
</html>
=================================================
以上代码可以统计每项1件的总金额,如果要由顾客自己选择数量,如何才能自己统计出?比如:裤子选择了二条,如果能乘以2再相加各项得出如下结果:
您当前已选购:衣服×1 裤子×2 鞋子×1 帽子×1 ,总价为: 27元

解决方案 »

  1.   


    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title></title>
    <script language="javascript">
    function dataCal(){
    var sum=0;
    var str = "";
    var str2=0;
    var obj=document.getElementsByName("items[]"); //取得页面所有的items复选框对象
    for(var i=0;i<obj.length;i++)
    {
      if(!obj[i].checked)
      continue; //如果没有选中,则执行下一次
      sum+=parseFloat(obj[i].dingid); //如果被选中的话,则累加求和
      str += obj[i].value;
      str2 += parseInt(document.getElementById('b'+i).value);
    // str2 +=obj[i].fz.value;//怎么取得数量?
    }
    AddUserForm.jieguo.value=+sum;  
    AddUserForm.guo.value=+str;
    AddUserForm.guo2.value=+str2;
      alert("您当前已选购:"+str+",总价为: "+sum+" 元,总数量:"+str2+"个");
    }
    </script>
    </head>
    <body>
    <form name=AddUserForm method="POST" action="upgrade.php?mid=^MID^">
    <table border="1" cellpadding="3" width="500" bgcolor="#a6d2ff" bordercolordark="#FFFFFF">
      <tr>
      <td align="center">选择</td>
      <td align="center">数量</td>
      <td align="center">金额</td>
      <td align="center">说 明</td>
      </tr>
      <tr>
      <td align="center" bgcolor="#ffffff"><input type="checkbox" value="衣服×1 " name="items[]"  onclick="dataCal(this,'b0')" dingid="100"></td>
      <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b0' />  
      件</td>
      <td align="center" bgcolor="#ffffff">100元</td>
      <td bgcolor="#ffffff">衣服</td>
      </tr>
      <tr>
      <td align="center" bgcolor="#ffffff"><input type="checkbox" value="裤子×? " name="items[]"  onclick="dataCal(this,'b1')" dingid="60"></td>
      <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="2" maxlength="3" size="3" id='b1' />  
      条</td>
      <td align="center" bgcolor="#ffffff">60元</td>  <td bgcolor="#ffffff">裤子</td>
      </tr>
      <tr>
      <td align="center" bgcolor="#ffffff"><input type="checkbox" value="鞋子×1 " name="items[]"  onclick="dataCal(this,'b2')" dingid="30"></td>
      <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b2' />  
      双</td>
      <td align="center" bgcolor="#ffffff">30元</td>
      <td bgcolor="#ffffff">鞋子</td>
      </tr>
      <tr>
      <td align="center" bgcolor="#ffffff"><input type="checkbox" value="帽子×1 " name="items[]" onclick="dataCal(this,'b3')"  dingid="20"></td>
      <td align="center" bgcolor="#ffffff"><input name="fz" type="text" value="1" maxlength="2" size="3" id='b3' />  
      顶</td>
      <td align="center" bgcolor="#ffffff">20元</td>
      <td bgcolor="#ffffff">帽子<input type="hidden" name="jieguo" value="0" ><input type="hidden" name="guo" value=""><input type="hidden" name="guo2" value=""></td>
      </tr></table></form>
    </body>
    </html>
      

  2.   


    谢谢!数量求和正确了,那金额求和是不是改成:
      sum+=parseFloat(obj[i].dingid*document.getElementById('b'+i).value); //如果被选中的话,则 数量×金额 后再累加 求和另外怎么同时控制数量框不能输入0,至少要输入1,并不能大于100,只能输入数字,不能输入其它字符?
    <input name="fz" type="text" value="1" maxlength="2" size="3" id='b0' />
    <input name="fz" type="text" value="2" maxlength="3" size="3" id='b1' />
    <input name="fz" type="text" value="1" maxlength="2" size="3" id='b2' />
    <input name="fz" type="text" value="1" maxlength="2" size="3" id='b3' />