嗨,我正在使用jquery开发购物车。到目前为止,我已经列出了产品及其详细信息。这是我的代码
foreach( $_SESSION['r'] as $key=>$ar):
$cnt++;
?> <tr>
<td align="center"><?php echo $ar['Name']?></td>
<td align="center"><?php echo $ar['Price']?></td>
<td align="center">
<select class="myclass" name="qty" id='qty<?php echo $cnt;?>'>
<?php for ($i=1; $i<=100; $i++) {
$y="";
if( $i==$_SESSION['r'][$key]['Quantity']){
$y="selected";
}
echo "<option ";
echo "value='"$i'" ".$y.">", $i, "</option>'n";
} ?>
</select>
</td>
<?php $x=$x+$ar['Quantity']; ?>
<td name="price" id="price"><span class="priceDisplay<?php echo $cnt;?>"><?php echo $ar['Total']; ?></span></td>
<!-- <td id="tot" align="center"><?php// echo $ar['Total'] ?></td> -->
<input type='hidden' name='id' id="pid" value='<?php echo $ar['Id']; ?>'>
<input type='hidden' name='price' id="price" value='<?php echo $ar['Price'] ?>' class="input">
<td><input type='checkbox' name='remove' value='Remove' onCheck="$(this).closest('tr').remove();">
在这里,我在每行中的下拉列表的ID是不同的。它是在循环继续时自动生成的。我所需要的只是,当用户更改产品的数量时,必须更改相应的价格。问题是,当用户更改数量时,必须调用jquery。它应传递选择 ID。但是我选择的 ID 对于每个产品都是不同的。那么我是如何实现的呢?请帮助我。
您是否尝试过在选择上实现一个计算总价的函数onChange(),您可以将一个类添加到价格和数量的容器中,只是为了区分,然后遍历它们。
试试这个
<td align="center" id="price"><?php echo $ar['Price']?></td>
<td align="center">
<select class="myclass" name="qty" id='qty<?php echo $cnt;?>' onchange="get_price(this)">
<?php for ($i=1; $i<=100; $i++) {
$y="";
if( $i==$_SESSION['r'][$key]['Quantity']){
$y="selected";
}
echo "<option ";
echo "value='"$i'" ".$y.">", $i, "</option>'n";
} ?>
</select>
<script>
function get_price(val)
{
var qty = $(val).val();
var price = $("#price").html();
var price = qty * price;
$("#price").html(price);
return false;
}
</script>