флажок снимается после фильтрации данных после нового просмотра. как снять галочку с галочки после того, как данные отфильтрованы - PullRequest
0 голосов
/ 12 июня 2019

У меня есть список производителей на боковой панели, откуда при установленном флажке данные фильтруются по производителям. но когда представление загружено, данные фильтруются, но флажок становится непроверенным. Как мы можем остановить флажок, чтобы стать непроверенным после фильтрации данных.

работает на Laravel 5.1

Контроллер

      $productsFeatured = Product::select('products.id', 'products.name','products.low_emitting_material_prerequisite_file',
            'manufacturers.phone','manufacturers.address','manufacturers.linkedin_url','manufacturers.city', 'products.specs_file','products.specs_file_url','products.low_emitting_material_credit_file', 'products.logo', 'products.division_id', 'products.section_id', 'products.manufacturer_id', 'divisions.name as division_name', 'divisions.code as division_code', 'sections.name as section_name', 'sections.code')
                    ->whereIn('products.status', ['active'])
                    ->where(function ($query) {
                        $query->where('products.low_emitting_material_prerequisite_file', '!=', '');
                    })
                    ->where('users.user_type', 'manufacturer_paid')
                    ->leftJoin('products_selected_leeds', 'products.id', '=', 'products_selected_leeds.product_id')
                    ->leftJoin('sections', 'products.section_id', '=', 'sections.id')
                    ->leftJoin('divisions', 'products.division_id', '=', 'divisions.id')
                    ->join('manufacturers', 'products.manufacturer_id', '=', 'manufacturers.id')
                    ->join('users', 'manufacturers.user_id', '=', 'users.id')
                    ->orderBy('divisions.code', 'asc')
                    ->orderBy('sections.code', 'asc')
                    ->groupBy('products.id');

                    if($request->ajax() && $request->manufacturer){

                        $productsFeatured->whereIn('products.manufacturer_id', $request->manufacturer);
                        $productsFeatured = $productsFeatured->get();                     

                    } else{
                        $productsFeatured = $productsFeatured->get();
                    }


   if($request->ajax()){

                    return  view('guest::new_design_frontend.product-library')->with($productsFeatured); 

            }else{
                return  view('guest::new_design_frontend.product-library')->with($productsFeatured); 
            }

Сценарий

$(document).ready(function() {

        // filter_data();

        function filter_data() {

            var manufacturer = get_filter('manufacturer');
            $.ajax({   
                url: "{{url('CHPS')}}",
                method: 'POST',
                headers: {
                        'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
                    },
                data:{manufacturer:manufacturer} ,

                success:function(data){
                 $('body').html();

                    $('body').html(data);
                }
            });
        }
        function get_filter(class_name) {
            var filter = [];

            $('.'+class_name+':checked').each(function(){
            filter.push($(this).val());
        });
        return filter
        }
        $('.common_selector').click(function(){
        filter_data();
    });

    });

вид

manufacturers as sidebar

 @foreach($manufacturers as $leedsManufacturer)
                                <div class="post" id="post{{$leedsManufacturer['mfgg_id']}}">
                                    <label class=" my-checkbox gry2" id="manufacturer">{{str_limit($leedsManufacturer['mfgg_name'], 300)}}
                                        <input type="checkbox" class="manufacturer common_selector" name="manufacturer[]" value="{{$leedsManufacturer['mfgg_id']}}">
                                        <span class="checkmark"></span>
                                    </label>
                                </div>
                         @endforeach


checkbox is unchecked after filter the data whereas it should be not

1 Ответ

0 голосов
/ 12 июня 2019

передать $ request-> значения производителя для просмотра.Затем вам нужно проверить текущее значение $ leedsManufacturer ['mfgg_id'] с проверенным массивом $ request-> изготовителя, если да, добавить атрибут "checked"

<input type="checkbox" class="manufacturer common_selector" name="manufacturer[]" value="{{$leedsManufacturer['mfgg_id']}}"  {{(in_array($leedsManufacturer['mfgg_id'],$checkedManufactureArray)?"checked":"")}}>

Вам необходимо передать проверенные значения для просмотра
$ checkedManufactureArray = $ request-> производитель;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...