Category Archives: Uncategorized

Create chain select dropdown using Laravel, Laravolt and Liveware

Install Laravolt Indonesia package

composer require laravolt/indonesia

php artisan vendor:publish --provider="Laravolt\Indonesia\ServiceProvider"
php artisan migrate
php artisan laravolt:indonesia:seed

Install Livewire

composer require livewire/livewire

Create livewire dropdown component

php artisan make:livewire ChainDropdown

Setup routes

Route::get('/dropdown', [HomeController::class,'render_dropdown']);

Setup controller and views

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    //other functions...

    public function render_dropdown()
    {
      return view('layouts.dropdown'); 
    }
}

@extends('layouts.app')

@section('content')
        <div class="container">
            <livewire:chain-dropdown />
        </div>
@endsection

Setup livewire class component

<?php

namespace App\Http\Livewire;

use Livewire\Component;

class ChainDropdown extends Component
{
    public $provinces, $cities;
    public $provinceId=null;

    public function mount()
    {
        $this->provinces = \Indonesia::allProvinces();
        $this->cities = collect();
    }

    public function render()
    {
        return view('livewire.chain-dropdown');
    }

    public function updatedProvinceId($province_id)
    {
        if(!is_null($province_id)){
            $this->cities = \Indonesia::findProvince($province_id, ['cities']);
        }
    }
}

Setup livewire views component

<div>
    <select name="provices" id="provinces" wire:model="provinceId">
        <option value="">Select Province</option>
        @foreach ($provinces as $province)
            <option value="{{ $province->id }}">{{ $province->name }}</option>
        @endforeach
    </select>
    @if (!is_null($provinceId))
        <select>
            <option value="" selected>Select City</option>
            @foreach ($cities->cities as $city)
                <option value="{{ $city->id }}">{{ $city->name }}</option>
            @endforeach
        </select>
    @endif

</div>

full source code can you view on my github https://github.com/dwijonarko/laravel-8-module

Disclaimer

Berhubung banyak yang berkomentar tentang artikel yang saya buat, pertama-tama saya ucapkan terima kasih atas kunjungan di web saya ini, selanjutnya saya mohon maaf yang sebesar-besarnya dikarenakan belum bisa menjawab pertanyaan yang kebanyakan mengenai kode program yang tidak bisa jalan.
Jadi begini, dalam dunia programming kita tidak dituntut untuk pinter copas saja, tetapi pahami juga script yang Anda tulis. Yang selanjutnya adalah saya bukan dewa, bukan dukun yang memahami pertanyaan / masalah yang Anda ajukan dengan pertanyaan yang sangat umum. Misalnya nih ‘Mas program saya error, padahal sudah sama persis’. Jelas saya ga bisa jawab, saya tidak lihat kode Anda, saya tidak melihat error Message Anda. Bagaimana saya tahu kesalahan ada di kode saya atau kode yang Anda buat.
Jika Anda ingin menanyakan sesuatu, coba sertakan parameter yang jelas, misal dengan menyertakan contoh source code-nya di jsfiddle.net atau di github. Coba Anda teliti dulu kode Anda, jika berhubungan dengan JavaScript coba periksa dengan firebug, atau JavaScript console, Chrome developer tools, dan sejenisnya.
Sekali lagi mohon maaf atas segala kekurangan, dan terima kasih.

RTFM !!!

Tulisan ini saya ambil tanpa di edit dari http://endy.artivisi.com/blog/life/rtfm/ semoga bisa jadi bahan masukan bagi kita semua 🙂

Disclaimer: Saya menulis artikel ini bukan karena sudah tidak mau lagi menjawab pertanyaan. Bertanya boleh, sepanjang saya ada waktu dan bisa membantu insya Allah akan saya jawab. Tapi intinya adalah, bagaimana teknik bertanya yang dapat menghasilkan nilai tambah yang besar, bukan hanya untuk penanya, tapi juga untuk penjawab. Mengingat saya tidak dibayar untuk menjawab pertanyaan Anda, melainkan sebagai sedekah dan niat baik saja. Di lain pihak, dalam menjawab pertanyaan Anda, ada waktu yang saya gunakan. Waktu ini entah merupakan hak pelanggan saya (yang membayar untuk jasa saya), atau hak keluarga di rumah. Jadi untuk kebaikan kita semua, mohon baca artikel berikut sampai tuntas.

Continue reading