【问题标题】:how to filter data in laravel with checkbox onchange如何使用复选框 onchange 过滤 laravel 中的数据
【发布时间】:2017-09-05 07:02:42
【问题描述】:

我有一个电子商务网站,它也需要一个过滤选项。

我以前从未这样做过,所以不知道它是如何工作的。我做了一些 google-ing 和 youtube-ing,我找到了这段代码

<center>
    <ul>
        <a href="{{ url('category/' . $tag . '?price=100') }}"><li class="mydes2">Below $100</li></a>
        <a href="{{ url('category/' . $tag . '?price=250') }}"><li class="mydes2">Below  $250</li></a>
        <a href="{{ url('category/' . $tag . '?price=500') }}"><li class="mydes2">Below $500</li></a>
        <a href="{{ url('category/' . $tag . '?price=1000') }}"><li class="mydes2">Below $1000</li></a>
        <a href="{{ url('category/' . $tag . '?price=1500') }}"><li class="mydes2">Below $1500</li></a>
        <a href="{{ url('category/' . $tag . '?price=1500') }}"><li class="mydes2">Above $1500</li></a>
    </ul>                  
</center>

这是我的控制器

public function swimcategory(Request $request, $tags) {
  if(request()->has('gender')||request()->has('price')||request()->has('color')||request()->has('brand')) {
      if (request()->has('gender')) {
          $products = product::where('gender', request('gender'))->whereHas('categories', function ($query) use ($tags) {
              $query->where('name', $tags);
          })->get();
      }
      if (request()->has('price')) {
          $products = product::where('price', '<=', request('price'))->whereHas('categories', function ($query) use ($tags) {
              $query->where('name', $tags);
          })->get();
      }
      if (request()->has('color')) {
          $products = product::whereHas('colors', function ($query) {
              $query->where('name', request('color'));
          })->whereHas('categories', function ($query) use ($tags) {
              $query->where('name', $tags);
          })->get();
      }
      if (request()->has('brand')) {
          $products = product::whereHas('brands', function ($query) {
              $query->where('name', request('brand'));
          })->whereHas('categories', function ($query) use ($tags) {
              $query->where('name', $tags);
          })->get();
      }
  } else {
      $products = product::whereHas('categories', function ($query) use ($tags) {
          $query->where('name', $tags);
      })->get();
  }  


  $tag = $tags;
  $colors = color::orderBy('created_at', 'desc')->paginate(10);
  $brands = brand::orderBy('created_at', 'desc')->paginate(10);
  return view('category.index', compact('products', 'colors', 'brands', 'tag'));
}

它工作正常,但我不需要 href 链接。

我想在用户检查该过滤器时添加复选框,这与 Flipkart 或亚马逊网站的工作方式相同。

【问题讨论】:

  • 您在过滤搜索吗?
  • 不,我按类别过滤产品
  • 所以当用户勾选过滤器时,它会重新应用过滤器
  • 产品有多种颜色,一种品牌,一种价格,一种性别
  • 所以用户会选择所有这些?是形式吗?

标签: javascript php jquery laravel laravel-5.5


【解决方案1】:

由 Norris Oduro 在 javascript 的帮助下完成
代码如下:

<script>
    function checkBoxHandler() {
        $('#color_form').submit();
    }

    $("#ex2").slider({});
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 2011-11-20
    • 2013-06-06
    • 2019-01-04
    • 2021-06-03
    • 2020-11-25
    • 2015-08-05
    • 2020-02-16
    相关资源
    最近更新 更多