perhaps? 2019-12-06 17:17 采纳率: 100%
浏览 25

Laravel Ajax实时搜索

In my ecommerce project I have a list of brands. As you see:enter image description here

I want to change list of brands on keyup. Like this:

enter image description here

I wrote some code in my blade to pass information with ajax:

<script type="text/javascript">
    $('#search').on('keyup',function(){
        var value=$(this).val();
        var filter=$(this).parent().siblings('div').children().children().children().children('input').attr('name');
        var url = window.location.href;
        var id = url.substring(url.lastIndexOf('/') + 1);
        console.log(filter);
        $.ajax({
            type : 'get',
            url : 'categories/live',
            data:{search:value,id:id,filter:filter},
            success:function(data){
                $('#result').html(data);
            }
        });
    })
</script>

Then I define route in web.php;

    Route::get('categories/live','CategoryController@live_search');

And this is CategoryController:

<?php

namespace App\Http\Controllers;

use App\Category;
use App\Filter;
use App\product;
use App\ProductQa;
use App\QaLike;
use Illuminate\Http\Request;

class CategoryController extends Controller
{
    public function live_search(Request $request)
    {
        if ($request->ajax()) {
            $id = $request->input('id');
            $value = $request->input('value');
            $filter = $request->input('filter');
            if ((Filter::where([['en_name', '=', $filter], ['cat_id', '=', $id]])->first()) != Null) {
            $output="";
            $filters=Filter::where([['name', 'like', $value]])->get();
            //return response()->json(['search' => 'ok'],compact('filters'));
                if($filters) {
                    foreach ($filters as $key => $filter) {
                        $output .=
                            '<li>' . $filter->name . '</li>';
                    }
                }
            }
        }
    }
}

I can show passed data in blade, but I dont know how can I refresh brand list on keyup with ajax. should I define function in my model?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算