【问题标题】:filter product by checkbox in laravel在 laravel 中按复选框过滤产品
【发布时间】:2020-05-12 17:41:31
【问题描述】:

我正在使用 Laravel 框架构建一个网站 我想使用复选框按类别过滤产品以进行显示

blade.php:

<ul>
@foreach($category as $val)
<li>
    <div class="custom-control custom-checkbox mb-3">
        <input type="checkbox" class="custom-control-input" id="cat_{{$val->id}}" name="cat[]" value="{{$val->title_en}}">
        <label class="custom-control-label" for="cat_{{$val->id}}">{{ $val->title_fa }}</label>
    </div>
</li>
 @endforeach

js:

var categories = [];

// Listen for 'change' event, so this triggers when the user clicks on the checkboxes labels
$('input[name="cat[]"]').on('change', function (e) {

    e.preventDefault();
    categories = []; // reset

    $('input[name="cat[]"]:checked').each(function()
    {
        categories.push($(this).val());
    });

    $.ajax({
        headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },

        type:'POST',

        url: '/test',

        data:{categories,_token: $('meta[name="csrf-token"]').attr('content')
        },

        success:function(data){

            alert(categories);

        }

    });

路线:

Route::post('/test', 'IndexController@serachCat');

索引控制器:

public function searchCat()
{
    dd('search');
}

使用这些代码我只在选择类别时获得警报名称,但我想在选择类别后转到控制器并在那里过滤产品然后显示它们

我应该对代码进行哪些更改?

【问题讨论】:

  • 这能回答你的问题吗? Laravel checkbox filter ajax
  • 您好,欢迎来到stackoverflow,您是否尝试过搜索您想要的东西?

标签: jquery ajax laravel


【解决方案1】:

在 ajax 成功运行后,您需要返回一个 json 响应来处理数据。

Route::post('/test/{option}', 'IndexController@serachCat');

.

public function searchCat($option)
{
    $cat=Model::where('option',$option)->get()
    return response()->json(['categoryData'=>$cat],200);
}

.

url: '/test/'+data,

【讨论】:

  • 控制器不应该只返回json,你也可以返回html或者渲染视图,然后附加到你的blade上。
猜你喜欢
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
相关资源
最近更新 更多