我正在市场应用程序上建立结帐。我需要能够在结帐时增加、减少和删除项目,但是当有多个项目时,AJAX 事件 jQuery 只会在 AJAx 事件触发时拾取第一个 item_id,无论用户点击什么项目,我该如何解决这个问题?
这是 PHP/HTML 代码...
<?php
$total = 0;
$subtotal = 0;
foreach($items as $item):
$subtotal += $item['product_price']*$item['product_qty'];
?>
<tbody id="item_<?=$item['cart_item_id']?>">
<tr>
<td>
<img src="<?=$item['product_image']?>">
<?php if($item['brand_name']!='None'): ?>
<p style="color: #666;"><?=$item['brand_name']?></p>
<?php endif; ?>
<p style="font-size: 16px;"><?=$item['product_name']?></p>
<a href="#" id="remove-item-button" >Remove this item</a> <!--HERE-->
</td>
<td class="align-td-center">
<?=formatted_price($item['product_price'])?>
</td>
<td class="align-td-center">
<a href="#" id="qty-inc-button" >More</a><?=$item['product_qty']?><a href="#" id="qty-dec-button">Less</a><!--AND HERE-->
<input type="hidden" id="item_id" value="<?=$item['cart_item_id']?>">
</td>
<td class="align-td-center">
<span id="value-shipping-<?=$item['cart_item_id']?>"><?=formatted_price($item['product_price']*$item['product_qty'])?></span>
</td>
</tr>
</tbody>
这是我的 jQ/AJAX ......
$('a#qty-inc-button').click(function(){
$("#processing").fadeIn("fast");
$.ajax({
url: "<?=BASE_URL?>landing/inc_cart_item",
type: "post",
dataType: "json",
data: {inc:1, item_id: $('#item_id').val(),},
success: function(data){
$("#processing").fadeOut("fast");
if(data.error) {
alert(data.error);
} else {
// parent.$('#line1').text(data.line1);
//parent.$('#line2').text(data.line2);
//parent.$('#address-dialog').dialog('close');
alert(data.line1);
}
}
});
return false;
});
$('a#qty-dec-button').click(function(){
$("#processing").fadeIn("fast");
$.ajax({
url: "<?=BASE_URL?>landing/dec_cart_item",
type: "post",
dataType: "json",
data: {dec:0, item_id: $('#item_id').val(),},
success: function(data){
$("#processing").fadeOut("fast");
if(data.error) {
alert(data.error);
} else {
//parent.$('#line1').text(data.line1);
//parent.$('#line2').text(data.line2);
//parent.$('#address-dialog').dialog('close');
alert(data.line1);
}
}
});
return false;
});
$('a#remove-item-button').click(function(){
$("#processing").fadeIn("fast");
$.ajax({
url: "<?=BASE_URL?>landing/rem_cart_item",
type: "post",
dataType: "json",
data: {item_id: $('#item_id').val(),},
success: function(data){
$("#processing").fadeOut("fast");
if(data.error) {
alert(data.error);
} else {
//parent.$('#line1').text(data.line1);
//parent.$('#line2').text(data.line2);
//parent.$('#address-dialog').dialog('close');
alert(data.line1);
}
}
});
return false;
});
感谢所有帮助并感谢您的关注。