这里我想通过 jQuery Function.here 将 Product_id 值传递到 addcart.php 文件中。这里由 php while 循环动态生成“添加购物车”按钮。每个按钮都设置为单独的产品 ID,直到这为止都很好。 我的问题是,当我单击每个按钮时,所有按钮都会将相同的值传递给 addcart.php 文件...我想传递单个按钮(按钮)的值.. 请给我一个解决方案... addcart.php 仅包含如下代码 “仅回显 $_POST['pid'];”
<?php
include('includes/db-config.php');
$shop_id=$_GET['sid'];
$get_product_q = mysql_query("select product from shops where sid = $shop_id");
$get_product_f = mysql_fetch_array($get_product_q);
$product_id = explode(',', $get_product_f['product']);
$count_product_id = count($product_id);
for($i=0;$i<$count_product_id;$i++){
$get_product_q = mysql_query("select * from products where pid = $i");
$get_product_f = mysql_fetch_array($get_product_q);
$product_id = $get_product_f['pid'];
?>
<script>
$(document).ready(function(){
$('.but').click(function(){
$.ajax({
type: 'POST',
url:"addcart.php",
data : { pid : '<?php echo $product_id?>'},
success:function(result){
$("#div1").html(result);
}});
});
});
</script>
<?php
$product_name = $get_product_f['name'];
$product_description = $get_product_f['description'];
$product_price = $get_product_f['price'];
echo $product_name;
echo '<br>';
echo $product_description;
echo '<br>';
echo $product_price;
echo '<br>';
echo '<input class="but" type="button" value="Add Cart" />';
echo '<br><br>';
}
?>
<div id="div1"></div>
最佳答案
您正在为每个产品重复整个 Javascript。将 Javascript 移出循环并将产品 ID 设置为按钮上的 data-productid
属性:
echo '<input class="but" type="button" value="Add Cart" data-productid="' . htmlspecialchars($product_id) . '" />';
然后,当您进行 ajax 调用(点击时)时,读取产品 ID 并将其设置为 POST 数据:
$.ajax({
type: 'POST',
url:"addcart.php",
data : { pid : $(this).data('productid') },
success:function(result){
$("#div1").html(result);
}
});
关于php - JQuery 函数在 php while 循环内不响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361692/