0

嗨,我正在使用 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 对于每种产品都是不同的。那么我如何实现呢?请帮我。

4

2 回答 2

0

您是否尝试在计算总价的选择上实现一个函数 onChange()?,您可以将一个类添加到价格和数量的容器中,只是为了区分,然后循环它们。

于 2013-10-31T06:29:25.797 回答
0

尝试这个

<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>
于 2013-10-31T06:36:12.057 回答