这是一个购物车的部分代码,用来显示购物车中的内容
现在的问题,如果购物车里有很多个东西,购物车只有第一个物品可以调用count()函数,其他的都失效,我发现时因为<input id="num">都一样的关系,请问应该如何做,在count()中传id的值为参数,达到不同物品都可以调用count()
count(a,b)这样传两个参数就行了我觉得,但是不知道该怎么传那个<input>和<label>id的值function count(){
var numval=document.getElementById("num").value; //获取购买数量
var priceval=document.getElementById("price").innerHTML; //获取物品单价
var storeval=document.getElementById("store").innerHTML; //获取库存的值
if(numval==""||numval<=0){
document.getElementById("subtotal").innerHTML="数量不能小于等于0或空";
return false;
}
else if(storeval<numval){ //购买数量大于库存
//sendRequest(document.getElementById("num").value);
document.getElementById("subtotal").innerHTML="库存不足";
return false;
}
else{
document.getElementById("subtotal").innerHTML=parseFloat(numval*priceval).toFixed(2);
return true;
}<?php
for($k=0;$k<count($cartCheck);$k++){ //$cartCheck是个数组,存放购买的物品的id,
$str="select * from books where b_id=".$cartCheck[$k];
$result=mysql_query($str);
while($row=mysql_fetch_array($result)){ //这句显示有误,但是数据可以读出来
$total+=$row['b_price']; //计算总价
//$tag="num".$cartCheck[$k];
?>
<tr>
<td width="">
<div align="center"><?php echo $row['b_name'];?></div>
</td>
<td width="">
<div align="center" id="store"><?php echo $row['b_number'];?></div>
</td>
<td width="">
<div align="center" id="price"><?php echo $row['b_price'];?></div>
</td>
<td width="" align="center">
<input id="num" type="text" value="1" size="5" onchange="count();"> //在数量变换后,单种物品总价变化
</td>
<td width="" align="center">
<label id="subtotal"><?php echo $row['b_price'];?></label> //用来显示单个物品总价
</td>
<td width="">
<div align="center">删除</div>
</td>
</tr>
<?php
}
}
?>
现在的问题,如果购物车里有很多个东西,购物车只有第一个物品可以调用count()函数,其他的都失效,我发现时因为<input id="num">都一样的关系,请问应该如何做,在count()中传id的值为参数,达到不同物品都可以调用count()
count(a,b)这样传两个参数就行了我觉得,但是不知道该怎么传那个<input>和<label>id的值function count(){
var numval=document.getElementById("num").value; //获取购买数量
var priceval=document.getElementById("price").innerHTML; //获取物品单价
var storeval=document.getElementById("store").innerHTML; //获取库存的值
if(numval==""||numval<=0){
document.getElementById("subtotal").innerHTML="数量不能小于等于0或空";
return false;
}
else if(storeval<numval){ //购买数量大于库存
//sendRequest(document.getElementById("num").value);
document.getElementById("subtotal").innerHTML="库存不足";
return false;
}
else{
document.getElementById("subtotal").innerHTML=parseFloat(numval*priceval).toFixed(2);
return true;
}<?php
for($k=0;$k<count($cartCheck);$k++){ //$cartCheck是个数组,存放购买的物品的id,
$str="select * from books where b_id=".$cartCheck[$k];
$result=mysql_query($str);
while($row=mysql_fetch_array($result)){ //这句显示有误,但是数据可以读出来
$total+=$row['b_price']; //计算总价
//$tag="num".$cartCheck[$k];
?>
<tr>
<td width="">
<div align="center"><?php echo $row['b_name'];?></div>
</td>
<td width="">
<div align="center" id="store"><?php echo $row['b_number'];?></div>
</td>
<td width="">
<div align="center" id="price"><?php echo $row['b_price'];?></div>
</td>
<td width="" align="center">
<input id="num" type="text" value="1" size="5" onchange="count();"> //在数量变换后,单种物品总价变化
</td>
<td width="" align="center">
<label id="subtotal"><?php echo $row['b_price'];?></label> //用来显示单个物品总价
</td>
<td width="">
<div align="center">删除</div>
</td>
</tr>
<?php
}
}
?>
$row=1
while{
?>
<div align="center" id="store_<?php echo $row; ?>">
<div align="center" id="price_<?php echo $row; ?>">
<input id="num_<?php echo $row; ?>" type="text" value="1" size="5" onchange="count(<?php echo $row; ?>);"> //在数量变换后,单种物品总价
<?php
$row++;
}
?>
<label id="subtotal"> ,subtotal后也加上goods_id,
在count(a,b)函数中传递,
这样获取时就不是相同的id了
<div align="center" id="store_<?php echo $row['goods_id']?>"><?php echo $row['b_number'];?></div>
</td>
<td width="">
<div align="center" id="price_<?php echo $row['goods_id']?>"><?php echo $row['b_price'];?></div>
</td>
<td width="" align="center">
<input id="num_<?php echo $row['goods_id']?>" type="text" value="1" size="5" onchange="count(<?php echo $row['goods_id']?>);"> //在数量变换后,单种物品总价变化
</td>
<td width="" align="center">
<label id="subtotal_<?php echo $row['goods_id']?>"><?php echo $row['b_price'];?></label> //用来显示单个物品总价
</td>
function count(goods_id){
var numval=document.getElementById("num_"+goods_id).value; //获取购买数量
var priceval=document.getElementById("price_"+goods_id).innerHTML; //获取物品单价
var storeval=document.getElementById("store_"+goods_id).innerHTML; //获取库存的值
if(numval==""||numval<=0){
document.getElementById("subtotal_"+goods_id).innerHTML="数量不能小于等于0或空";
return false;
}
else if(storeval<numval){ //购买数量大于库存
//sendRequest(document.getElementById("num_"+goods_id).value);
document.getElementById("subtotal_"+goods_id).innerHTML="库存不足";
return false;
}
else{
document.getElementById("subtotal_"+goods_id).innerHTML=parseFloat(numval*priceval).toFixed(2);
return true;
}