php - JQuery 函数在 php while 循环内不响应

标签 php jquery

这里我想通过 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/

相关文章:

php - JSON 模块可能已安装,但 json_encode() 不存在

php - 单击链接时,HTML 将输入文本字段值连接到 href

jquery 加载功能不起作用

javascript - 如何以表格格式显示json数组?

javascript - 同一页面提交表单后弹窗

javascript - 使用选择值更改对象属性

php - PHP 中的 Where IN 子句和 while 循环的输出 while 外部

PHP MySQL Web 服务器和 phpmyadmin 上的查询结果不同

php - 使用 mysql 和 php 选择以相同 4 位数字结尾的行进行分组

javascript - 在控制台中记录复选框的值