Laravel 9 livewire select2 dropdown; In this tutorial, we will learn how to make select2 dropdown with livewire in laravel 9 app.
How to Create Select2 Dropdown in Laravel 9 Livewire
Follow the following steps to make select2 dropdown in laravel 9 apps with livewire:
- Step 1: Install Laravel 9 App
- Step 2: Add Database Detail
- Step 3: Install Livewire Package
- Step 4: Create Select2 Component using Artisan
- Step 5: Add Route For Livewire Select2
- Step 6: Create View File
- Step 7: Run Development Server
Step 1: Install Laravel 9 App
First of all, Open terminal OR command prompt and run the following command to install laravel fresh app for laravel livewire file upload app:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Add Database Detail
In this step, Add database credentials in the .env file. So open project root directory and find .env file. Then add database detail in .env file:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=here database name here DB_USERNAME=here database username here DB_PASSWORD=here database password here
Now, open command prompt and run the following command to create the table into database:
php artisan migrate
Step 3: Install Livewire Package
In this step, we need to install livewire package to laravel project using the following command:
composer require livewire/livewire
Step 4: Create Select2 Component using Artisan
In this step, create the livewire components for creating a livewire select2 dropdown component using the following command. So Open cmd and run the following command:
php artisan make:livewire select2
This command will create the following components on the following path:
app/Http/Livewire/Select2.php resources/views/livewire/select2.blade.php
Now, Navigate to app/Http/Livewire folder and open Select2.php file. Then add the following code into Select2.php file:
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Select2 extends Component
{
public $selCity = '';
public $cities = [
'Rajkot',
'Surat',
'Baroda',
];
/**
* Write code on Method
*
* @return response()
*/
public function render()
{
return view('livewire.select2')->extends('layouts.app');
}
}
After that, Navigate to resources/views/livewire folder and open select2.blade.php file. Then add the following code into select2.blade.php file:
<div>
<h1>Laravel 9 Livewire Select2 Example - Tutsmake.com</h1>
<strong>Select2 Dropdown: {{ $selCity }}</strong>
<div wire:ignore>
<select class="form-control" id="select2" >
<option value="">-- Select City --</option>
@foreach($cities as $city)
<option value="{{ $city }}">{{ $city }}</option>
@endforeach
</select>
</div>
</div>
@push('scripts')
<script>
$(document).ready(function() {
$('#select2').select2();
$('#select2').on('change', function (e) {
var data = $('#select2').select2("val");
@this.set('selCity', data);
});
});
</script>
@endpush
Step 5: Add Route For Livewire Select2
In this step, Navigate to routes folder and open web.php. Then add the following routes into web.php file:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Livewire\Select2;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('select2', Select2::class);
Step 6: Create View File
In this step, navigate to resources/views/livewire folder and create one blade view files that name app.blade.php file. Then add the following code into app.blade.php file:
<!DOCTYPE html>
<html>
<head>
<title>Laravel 9 Livewire Select2 Dropdown Example - Tutsmake.com</title>
@livewireStyles
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
@livewireScripts
@stack('scripts')
</html>
Step 7: Run Development Server
Finally, we need to run the following PHP artisan serve command to start laravel livewire upload file app:
php artisan serve If we want to run the project diffrent port so use this below command php artisan serve --port=8080
Now, we are ready to run laravel 9 livewire select2 app. So open browser and hit the following URL into browser:
localhost:8000/select2
Recommended Laravel Tutorials