Azərbaycan English
Loading...

  

web.php faylı
Route::get('/backend', [BackendController::class,'index'])->name('backend.index');
BackendController.php faylı
<?php

namespace App\Http\Controllers;

use App\Models\User;

class BackendController extends Controller
{
    public function index()
    {
        $search = \request('term');

        $query = User::query();
        if ($search) {
            $query->where('name', 'like', '%' . $search . '%');
        }

        $users = $query->paginate(30);

        return response()->json($users);
    }
}
users.blade.php faylı
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Select2 with Laravel and AJAX</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>

<select id="mySelect" style="width: 300px;">
    <option value="">İstifadəçi axtarın...</option>
</select>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/i18n/az.min.js" integrity="sha512-5h/4MstAOhpL8LHF6e7tTEv31xdr5wY7JL9w7nqOI2zs/tL1ofuRfX+g+RwJ7l/3xc5cIAeLMLne6m+QYX67hg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
    $(document).ready(function() {
        $('#mySelect').select2({
            language: "az",
            ajax: {
                url: '{!! route('backend.index') !!}',
                dataType: 'json',
                delay: 250,
                data: function (params) {
                    return {
                        q: params.q,
                        term: params.term,
                        sku_id: {{ request()->segment(3) }} // additional parameter
                    };
                },
                processResults: function(data) {
                    return {
                        results: data.data,
                        pagination: {
                            more: data.next_page_url !== null
                        }
                    };
                },
                cache: true
            },
            // minimumInputLength: 1,
            placeholder: 'İstifadəçi axtarın...',
            escapeMarkup: function(markup) {
                return markup;
            },
            templateResult: function(data) {
                return data.name;
            },
            templateSelection: function(data) {
                return data.name;
            },

        });
    });
</script>

</body>
</html>

by Rahim Süleymanov | Feb 26, 2024