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() を select に実装しようとしましたか? 価格のコンテナーと数量にクラスを追加して、区別してからそれらをループすることができます。

于 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 に答える