Laravel Croinsane购物车和显示表格的产品

时间:2018-10-23 20:54:39

标签: php jquery ajax laravel

我正在尝试构建一个系统,根据产品当前是否在购物车中,产品容器将显示表格或按钮。我有一个看起来不错的Ajax帖子系统,但我也将其包括在内。我有一个前置控制器,用于发送购物车中的物品和产品。

问题是,当我刷新页面时,我的表单应该替换给定产品的“购买”按钮,但是它不起作用。仅Ajax过帐到购物车系统有效。

我的视图(其中包括一些javascript / php):

  <?php $countP = 0; ?>
        @foreach($products as $product)

        <input type="hidden" id="product_id<?php echo $countP; ?>" value=" 
      {{$product->id}}">


        <div class="item main-product-container">
          <a href="#"<i class="fa fa-exclamation" aria-hidden="true"></i> 
             </a>
          <div class="product-img text-center">
            <img src="{{url('img', $product->image)}}">
          </div>
          <p class="price text-center">{{$product->price}},- kr</p>
          <div class="product-title">{{$product->name}}</div>

            <script>

                  <?php foreach($cartContents as $cartContent) { ?>
                      if(<?php echo $cartContent->id ?> = {{$product->id}}) 
                     {
                        $('.cartBtn{{$product->id}}').hide();
                        $('.productForm{{$product->id}}').show();
                      } else {
                        $('.cartBtn<?php echo $product->id;?>').show();
                        $('.productForm<?php echo $product->id;?>').hide();
                      }
                    <?php } ?>

            </script>



            <form class="productForm{{$product->id}} productForm" 
               id="productForm<?php echo $countP;?>">
            <input class="qty-input" name="qty" id="qty" type="integer" 
          value="1">
            <input type="hidden" id="id" name="id" value="{{$product->id}}">


            <input type="submit" id="ajaxSubmit{{$product->id}}" 
          class="cart-button" value="Legg til">
            </form>
            <button class="btn btn-default add-to-cart cartBtn<?php echo 
       $product->id;?>" id="cartBtn<?php echo $countP;?>">Kjøp</button>

        </div>
        <?php $countP++?>
        @endforeach
    </div>

我的Ajax:

  <script>
   $(document).ready(function() {



   $('.productForm').hide();

  <?php $maxP = count($products);
      for($i=0;$i<$maxP; $i++){
    ?>

       $('#cartBtn<?php echo $i;?>').click(function() {
      var product_id<?php echo $i;?> = $('#product_id<?php echo $i;? 
         >').val();

    $.ajax({
    type: 'get',
    url: '<?php echo url('/cart/post');?>/'+ product_id<?php echo $i;?>,
    error: function(data) {
      var errors = data.responseJSON;
      console.log(errors);
    },
    success:function() {
      $('#cartBtn<?php echo $i;?>').hide();
      $('#productForm<?php echo $i;?>').show();
    },

  });


 });
<?php } ?>
 });

0 个答案:

没有答案