CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

16 January, 2023

Laravel 9 Dynamic Ajax Autocomplete using Vue.js

 Programing Coderfunda     January 16, 2023     Laravel, Vuejs     No comments   

 Today, we will learn ajax live hunt and autocomplete involving vue js parts in laravel 5.6 application. here we will make straightforward and pleasant illustration of autocomplete in vue.js utilizing laravel programming interface. we will utilize axios for getting records in vue js, so follow this instructional exercise and get full model.


As we probably are aware everyone knows all about the idea of Ajax Live Inquiry or Autocomplete for search. On the off chance that you search on google, youtube or some other renowned site, we can see like hunt with autocomplete. there are additionally accessible devices for autocomplete like jquery ui and Typeahead and so on, however on the off chance that you are working with vue js, you can do it speedy and as you need to make it.


So fundamentally you want to follow underneath step and finish all step. You will see autocomplete. You can likewise check demo I added connect finally of instructional exercise.

Step 1: Create tags Table and Model

in first step, we are going to create autocomplete with tags. so we have to create migration for "tags" table using Laravel 5.6 php artisan command, so first fire bellow command:

php artisan make:migration create_tags_table --create=tags

After this command you will find one file in following path "database/migrations" and you have to put bellow code in your migration file for create tags table.

<?php


use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;


class CreateTagsTable extends Migration

{

/**

* Run the migrations.

*

* @return void

*/

public function up()

{

Schema::create('tags', function (Blueprint $table) {

$table->increments('id');

$table->string('name');

$table->timestamps();

});

}


/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

Schema::dropIfExists('tags');

}

}

Now we need to create model for tags table so let's create model.

app/Tag.php

<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Tag extends Model

{

/**

* The attributes that are mass assignable.

*

* @var array

*/

protected $fillable = [

'name'

];

}

Step 2: Add Route

In this is step we need to add routes for tag autocomplete. so open your "routes/web.php" file and add following route.

routes/web.php

Route::get('vuejs/autocomplete', 'VueJSController@autocomplete');

Route::get('vuejs/autocomplete/search', 'VueJSController@autocompleteSearch');

Read Also: Multi select autocomplete jquery example with code

Step 3: Create Controller

Here, in this step we need to create new controller for create tag autocomplete example. so create "VueJSController" controller and put bellow code:

app/Http/Controllers/VueJSController.php

<?php


namespace App\Http\Controllers;


use Illuminate\Http\Request;

use App\Tag;


class VueJSController extends Controller

{

/**

* Show the application dashboard.

*

* @return \Illuminate\Http\Response

*/

public function autocomplete()

{

return view('vuejsAutocomplete');

}


/**

* Show the application dashboard.

*

* @return \Illuminate\Http\Response

*/

public function autocompleteSearch(Request $request)

{

$searchquery = $request->searchquery;

$data = Tag::where('name','like','%'.$searchquery.'%')->get();


return response()->json($data);

}

}

Step 4: Create Blade File

In the last step, we need to create vuejsAutocomplete.blade.php file for autocomplete view. so create bellow file and put bellow code on it.

resources/views/vuejsAutocomplete.blade.php

Read Also: Dynamic Form Validation in VueJs with PHP Laravel 9

<!DOCTYPE html>

<html>

<head>

<title>Autocomplete Vue js using Laravel</title>

<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" >

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js"></script>

</head>

<body>


<div class="container" id="app">

<div class="row">

<div class="col-sm-8">

<h1>Autocomplete Vue js using Laravel</h1>

<div class="panel panel-default">

<div class="panel-heading">Please Enter for Search</div>

<div class="panel-body">

<autocomplete></autocomplete>

</div>

</div>

</div>

</div>

</div>


<script type="text/javascript">


Vue.component('autocomplete', {

template: '<div><input type="text" placeholder="what are you looking for?" v-model="searchquery" v-on:keyup="autoComplete" class="form-control"><div class="panel-footer" v-if="data_results.length"><ul class="list-group"><li class="list-group-item" v-for="result in data_results">@{{ result.name }}</li></ul></div></div>',

data: function () {

return {

searchquery: '',

data_results: []

}

},

methods: {

autoComplete(){

this.data_results = [];

if(this.searchquery.length > 2){

axios.get('/vuejs/autocomplete/search',{params: {searchquery: this.searchquery}}).then(response => {

console.log(response);

this.data_results = response.data;

});

}

}

},

})


const app = new Vue({

el: '#app'

});

</script>


</body>

</html>

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Write API Integrations in Laravel and PHP Projects with Saloon
    Write API Integrations in Laravel and PHP Projects with Saloon Saloon  is a Laravel/PHP package that allows you to write your API integratio...
  • Credit card validation in laravel
      Validation rules for credit card using laravel-validation-rules/credit-card package in laravel Install package laravel-validation-rules/cr...
  • iOS 17 Force Screen Rotation not working on iPAD only
    I have followed all the links on Google and StackOverFlow, unfortunately, I could not find any reliable solution Specifically for iPad devic...
  • C++ in Hindi Introduction
    C ++ का परिचय C ++ एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। C ++ को Bjarne Stroustrup द्वारा विकसित किया गया था। C ++ में आने से पह...
  • Python AttributeError: 'str' has no attribute glob
    I am trying to look for a folder in a directory but I am getting the error.AttributeError: 'str' has no attribute glob Here's ...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (2)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda