基本的に、データベース テーブルから一意の値が読み込まれる非表示の入力ボタンがあります。<input type="hidden" name="ProductId" class="ProductId" value='.$row["ProductId"].' />
このボタンは、このメソッドによって返される行数に応じて繰り返されます。
while ($row = $result->fetch()) {
echo '<table class="cart-row" cellspacing="0" cellpadding="0" width="100%">';
echo '<tbody>';
echo '<tr>';
echo '<td width="75"><img border="0" width="59px" height="78px" title="" alt="" src=' . $row["ImagePath"] .'></td>';
echo '<td width="203"><span class="itemElements itemName">'. $row["Name"] .'</span></td>';
echo '<td width="203"><input type="submit" class="btnMinus linkbtnType2" value="-"><input type="submit" class="btnPlus linkbtnType2" value="+"></td>';
echo '<td width="135"><span class="qtyNum">('. $row["Qty"] .')</span> <br />';
echo '<input type="hidden" name="ProductId" class="ProductId" value='.$row["ProductId"].' />';
echo '<span class="qtyRemoveLink"><input type="submit" class="btnRemove linkbtn" value="Remove"></td>';
echo '<td width="180"><span class="itemElements orderStatus">In Stock Usually dispatched within 24 hours</span></td>';
echo '<td width="175" class="itemPriceRow"><span id="itemPrice">€ '. $row["Price"] .'</span></td>';
echo '</tr>';
echo '</tbody>';
echo '</table>';
echo '<br>';
}
jQueryメソッドを使用して非表示のボタンからこの値を読み取りますが、生成された最初の入力ボタンから値を読み取るだけです。ボタンを ID からクラスに変更しようとしましたが、うまくいきませんでした。
これは jQuery メソッドです。
$('.btnRemove').click(function() {
var productId = $(".ProductId").val();
$.ajax({
type: "POST",
url: "functions/deleteCartItem.php",
data: "productId="+productId+ "",
success: function(msg){
alert(msg);
}
})
})
私が考えることができる解決策は、id
各ボタンに一意の を追加して、名前だけでなく によっても識別できるようにすることid
です。ただし、これは jQuery メソッドから読み取る際に問題を引き起こします。
何か案は?