مرضیه
3 سال پیش توسط مرضیه مطرح شد
4 پاسخ

اجاکس موجودی محصول

سلام دوستان
من برای فروشگاه اینترنتی میخوام یک چک باکس برای محصولاتی که موجود هستن یا عدم موجودی دارن درست کنم کدهایی که نوشتم به این صرت هست البته وقتی روی چک باکس کلیک میکنم در بخش network دی دی رو میبینم همه چیز درسته ولی در جایی که محصولات باید در واقع رفرش بشن اتفاقی نمیافته میشه لطفا راهنمایی کنید

کد کنترلر من

public function index(Request  $request){
        $available = Available::with('product')->get();
        if ($request->ajax() && isset($request->available)){
            $available = $request->available;
            $products = Product::where('available_id',$available)
                ->paginate('10');
            dd($products);
            response()->json($products);
        }
        return view('frontend.product.index',
            compact(
                'available'

            ));
    }

کد اجاکس من

 <script>
        $('#availableId').click(function () {
            var available = [];
            $('#availableId').each(function (){
                if($(this).is(":checked")){
                    available.push($(this).val())
                }
            })
            $.ajax({
                type: "get",

                url: '/product/',
                data: {available: available},

                dataType: 'json',
                success: function (response){
                    console.log(response);
                    $(#updatediv').html(response);
                }
            })
        });
    </script>

کد فرانت من

 @foreach($available as $item)
                                        <div class="custom-control custom-switch">
                                            <input class="availableIds" type="checkbox" id="availableId" value="{{$item->id}}">
                                            <label  for="availableId">{{$item->title}}</label>
                                        </div>

                     @endforeach

کد بخش محصولات من

<div class="shop-product-wrap" id="updatediv">
                                        <div class="row" >
                                           <?php $products = \App\Product::all(); ?>

                                            @foreach($products as $product)
                                                <p>
                                                    {{$product->title}}
                                                </p>
                                               @endforeach
                                        </div>
                                    </div>

و این هم دی دی وقتی روی چک باکس کلیک مینم که دیتای درستی نشونم میده
اجاکس محصولات

نمیدونم چرا وقتی روی چک باکس کلیک میکنم اصلا در بخش محصولات اتفاقی نمیافته

    Route::get('/product', 'ProductController@index')->name('frontend.product.index');

ثبت پرسش جدید
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

منظورتو واضحتر بگو میخوای محصولاتو فیلتر کنی؟؟


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

ببینید شما نباید از هلپر response استفاده کنی بجاش باید از return استفاده کنی و راه درستش اینه که اون ویوی بخش محصولاتو به صورت ایجکس لودش کنی پس باید اون ویو رو ببری تو یه فایل دیگه و لیست محصولاتو بهش بدی و با ایجکس او ویو رو بدی کلاینت. و جایگزین محصولات قبلی کنی.
نوشتن response اینجا درست نیست بجاش یک ویو با محصولات فیلتر شده برگردون


مرضیه
تخصص : طراح رابط کاربری،برنامه‌نویس
@marziehkhani 3 سال پیش مطرح شد
0

بله میخوام فیلتر کنم که محصولات موجود رو نشون بده


مرضیه
تخصص : طراح رابط کاربری،برنامه‌نویس
@marziehkhani 3 سال پیش مطرح شد
0

میشه بیشتر برام توضیح بدین


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام