1658580480
Select2 легко инициализировать на элементе. Это позволяет загружать данные с AJAX и без него.
В этом руководстве я покажу, как вы можете загрузить данные базы данных MySQL в select2, используя jQuery AJAX в проекте Laravel 8.
Откройте .env
файл.
Укажите хост, имя базы данных, имя пользователя и пароль.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tutorial
DB_USERNAME=root
DB_PASSWORD=
employees
таблицу с помощью миграции и добавьте несколько записей.php artisan make:migration create_employees_table
database/migrations/
папку из корня проекта.create_employees_table
и откройте его.up()
методе.public function up()
{
Schema::create('employees', function (Blueprint $table) {
$table->id();
$table->string('username');
$table->string('name');
$table->string('email');
$table->timestamps();
});
}
php artisan migrate
Создать Employees
модель.
php artisan make:model Employees
$fillable
свойство.Завершенный код
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Employees extends Model
{
use HasFactory;
protected $fillable = [
'username','name','email'
];
}
Создайте EmployeesController
контроллер.
php artisan make:controller EmployeesController
Создайте 2 метода –
index
представление.Присвойте $search
переменной значение поиска POST.
Если $search
пусто, выберите 5 записей из employees
таблицы и назначьте их, в $employees
противном случае выберите 5 записей, в которых $search
значение существует в name
поле, используя like
.
Цикл $employees
и инициализация $response
массива с ключами id
и .text
Возврат $response
в формате JSON.
Завершенный код
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Employees;
class EmployeesController extends Controller {
public function index(){
// Load index view
return view('index');
}
// Fetch records
public function getEmployees(Request $request){
$search = $request->search;
if($search == ''){
$employees = Employees::orderby('name','asc')->select('id','name')->limit(5)->get();
}else{
$employees = Employees::orderby('name','asc')->select('id','name')->where('name', 'like', '%' .$search . '%')->limit(5)->get();
}
$response = array();
foreach($employees as $employee){
$response[] = array(
"id"=>$employee->id,
"text"=>$employee->name
);
}
return response()->json($response);
}
}
routes/web.php
файл.<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\EmployeesController;
Route::get('/', [EmployeesController::class, 'index']);
Route::post('/getEmployees', [EmployeesController::class, 'getEmployees'])->name('getEmployees');
Создайте новый index.blade.php
файл в resources/views/
папке.
HTML –
<meta >
теге.<select id='sel_emp' >
элемент.jQuery –
csrf_token
из метатега и присвоить CSRF_TOKEN
переменной.#sel_emp
элемента.'ajax'
опции для отправки запроса AJAX POST в 'getEmployees'
. Установить dataType: 'json'
.data
передачей введенного значения и токена CSRF в качестве данных — _token: CSRF_TOKEN, search: params.term
.processResults
. Инициализировать results
с помощью response
.Завершенный код
<!DOCTYPE html>
<html>
<head>
<title>How to Load data using jQuery AJAX in Select2 – Laravel 8</title>
<!-- Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- CSS -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<!-- Script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
</head>
<body>
<!-- For defining select2 -->
<select id='sel_emp' style='width: 200px;'>
<option value='0'>-- Select employee --</option>
</select>
<!-- Script -->
<script type="text/javascript">
// CSRF Token
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$(document).ready(function(){
$( "#sel_emp" ).select2({
ajax: {
url: "{{route('getEmployees')}}",
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
_token: CSRF_TOKEN,
search: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
});
</script>
</body>
</html>
В примере я установил ограничение на 5 при выборке записей из таблицы. Вы можете либо удалить его, если хотите выбрать все записи, либо настроить его в соответствии с требованиями.
Возвращаемый ответ Select2 должен иметь id
и text
ключи, иначе данные не будут загружены должным образом.
Источник: https://makitweb.com
1658580480
Select2 легко инициализировать на элементе. Это позволяет загружать данные с AJAX и без него.
В этом руководстве я покажу, как вы можете загрузить данные базы данных MySQL в select2, используя jQuery AJAX в проекте Laravel 8.
Откройте .env
файл.
Укажите хост, имя базы данных, имя пользователя и пароль.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tutorial
DB_USERNAME=root
DB_PASSWORD=
employees
таблицу с помощью миграции и добавьте несколько записей.php artisan make:migration create_employees_table
database/migrations/
папку из корня проекта.create_employees_table
и откройте его.up()
методе.public function up()
{
Schema::create('employees', function (Blueprint $table) {
$table->id();
$table->string('username');
$table->string('name');
$table->string('email');
$table->timestamps();
});
}
php artisan migrate
Создать Employees
модель.
php artisan make:model Employees
$fillable
свойство.Завершенный код
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Employees extends Model
{
use HasFactory;
protected $fillable = [
'username','name','email'
];
}
Создайте EmployeesController
контроллер.
php artisan make:controller EmployeesController
Создайте 2 метода –
index
представление.Присвойте $search
переменной значение поиска POST.
Если $search
пусто, выберите 5 записей из employees
таблицы и назначьте их, в $employees
противном случае выберите 5 записей, в которых $search
значение существует в name
поле, используя like
.
Цикл $employees
и инициализация $response
массива с ключами id
и .text
Возврат $response
в формате JSON.
Завершенный код
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Employees;
class EmployeesController extends Controller {
public function index(){
// Load index view
return view('index');
}
// Fetch records
public function getEmployees(Request $request){
$search = $request->search;
if($search == ''){
$employees = Employees::orderby('name','asc')->select('id','name')->limit(5)->get();
}else{
$employees = Employees::orderby('name','asc')->select('id','name')->where('name', 'like', '%' .$search . '%')->limit(5)->get();
}
$response = array();
foreach($employees as $employee){
$response[] = array(
"id"=>$employee->id,
"text"=>$employee->name
);
}
return response()->json($response);
}
}
routes/web.php
файл.<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\EmployeesController;
Route::get('/', [EmployeesController::class, 'index']);
Route::post('/getEmployees', [EmployeesController::class, 'getEmployees'])->name('getEmployees');
Создайте новый index.blade.php
файл в resources/views/
папке.
HTML –
<meta >
теге.<select id='sel_emp' >
элемент.jQuery –
csrf_token
из метатега и присвоить CSRF_TOKEN
переменной.#sel_emp
элемента.'ajax'
опции для отправки запроса AJAX POST в 'getEmployees'
. Установить dataType: 'json'
.data
передачей введенного значения и токена CSRF в качестве данных — _token: CSRF_TOKEN, search: params.term
.processResults
. Инициализировать results
с помощью response
.Завершенный код
<!DOCTYPE html>
<html>
<head>
<title>How to Load data using jQuery AJAX in Select2 – Laravel 8</title>
<!-- Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- CSS -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<!-- Script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
</head>
<body>
<!-- For defining select2 -->
<select id='sel_emp' style='width: 200px;'>
<option value='0'>-- Select employee --</option>
</select>
<!-- Script -->
<script type="text/javascript">
// CSRF Token
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$(document).ready(function(){
$( "#sel_emp" ).select2({
ajax: {
url: "{{route('getEmployees')}}",
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
_token: CSRF_TOKEN,
search: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
});
</script>
</body>
</html>
В примере я установил ограничение на 5 при выборке записей из таблицы. Вы можете либо удалить его, если хотите выбрать все записи, либо настроить его в соответствии с требованиями.
Возвращаемый ответ Select2 должен иметь id
и text
ключи, иначе данные не будут загружены должным образом.
Источник: https://makitweb.com
1595201363
First thing, we will need a table and i am creating products table for this example. So run the following query to create table.
CREATE TABLE `products` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
Next, we will need to insert some dummy records in this table that will be deleted.
INSERT INTO `products` (`name`, `description`) VALUES
('Test product 1', 'Product description example1'),
('Test product 2', 'Product description example2'),
('Test product 3', 'Product description example3'),
('Test product 4', 'Product description example4'),
('Test product 5', 'Product description example5');
Now we are redy to create a model corresponding to this products table. Here we will create Product model. So let’s create a model file Product.php file under app directory and put the code below.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
protected $fillable = [
'name','description'
];
}
Now, in this second step we will create some routes to handle the request for this example. So opeen routes/web.php file and copy the routes as given below.
routes/web.php
Route::get('product', 'ProductController@index');
Route::delete('product/{id}', ['as'=>'product.destroy','uses'=>'ProductController@destroy']);
Route::delete('delete-multiple-product', ['as'=>'product.multiple-delete','uses'=>'ProductController@deleteMultiple']);
#laravel #delete multiple rows in laravel using ajax #laravel ajax delete #laravel ajax multiple checkbox delete #laravel delete multiple rows #laravel delete records using ajax #laravel multiple checkbox delete rows #laravel multiple delete
1593933651
In this tutorial i will share with you how to create dependent dropdown using ajax in laravel. Or how to create selected subcategories dropdown based on selected category dropdown using jQuery ajax in laravel apps.
As well as learn, how to retrieve data from database on onchange select category dropdown using jQuery ajax in drop down list in laravel.
Follow the below steps and implement dependent dropdown using jQuery ajax in laravel app:
Originally published at https://www.tutsmake.com/laravel-dynamic-dependent-dropdown-using-ajax-example
#laravel jquery ajax categories and subcategories select dropdown #jquery ajax dynamic dependent dropdown in laravel 7 #laravel dynamic dependent dropdown using ajax #display category and subcategory in laravel #onchange ajax jquery in laravel #how to make dynamic dropdown in laravel
1617089618
Hello everyone! I just updated this tutorial for Laravel 8. In this tutorial, we’ll go through the basics of the Laravel framework by building a simple blogging system. Note that this tutorial is only for beginners who are interested in web development but don’t know where to start. Check it out if you are interested: Laravel Tutorial For Beginners
Laravel is a very powerful framework that follows the MVC structure. It is designed for web developers who need a simple, elegant yet powerful toolkit to build a fully-featured website.
#laravel 8 tutorial #laravel 8 tutorial crud #laravel 8 tutorial point #laravel 8 auth tutorial #laravel 8 project example #laravel 8 tutorial for beginners
1599536794
In this post, i will show you what’s new in laravel 8 version.
https://www.tutsmake.com/laravel-8-new-features-release-notes/
#laravel 8 features #laravel 8 release date #laravel 8 tutorial #news - laravel 8 new features #what's new in laravel 8 #laravel 8 release notes