laravel 9 selected dropdown value when edit example

In this section, we will see how to select a dropdown value from a database when editing in Laravel 9. For this section, we will use the ternary operator and @selected Blade directives and @class directives. We will also see selected old values one to many relationships and many to many relationships.


Example 1

Laravel simple selected dropdown value using ternary operator.

<div class="mb-6">
    <label class="flex flex-col block">
        <span class=""> Select Status: </span>
        <select class="block w-full mt-1" name="status">
            <option value="published" {{ $blog->status == 'published' ? 'selected' : '' }}>
                Published
            </option>
            <option value="draft" {{ $blog->status == 'draft' ? 'selected' : '' }}>
                Draft
            </option>
            <option value="archived" {{ $blog->status == 'archived' ? 'selected' : '' }}>
                Archived
            </option>
        </select>
    </label>
</div>


Selected hold old value using laravel 9 @selected blade directives.

<div class="mb-6">
    <label class="flex flex-col block">
        <span class=""> Select Status: </span>
        <select class="block w-full mt-1" name="status">
            <option value="published" @selected($blog->status == 'published')>Published</option>
            <option value="draft" @selected($blog->status == 'draft')>Draft</option>
            <option value="archived" @selected($blog->status == 'archived')>Archived</option>
        </select>
    </label>
</div>


Style Selected edit value using @class blade directives.

<div class="mb-6">
    <label class="flex flex-col block">
        <span class=""> Select Status: </span>
        <select class="block w-full mt-1" name="status">
            <option value="published" @selected($blog->status == 'published')
                @class([
                'bg-purple-600 text-white' => $blog->status == 'published'
                ])>Published</option>
            <option value="draft" @selected($blog->status == 'draft')
                @class([
                'bg-purple-600 text-white' => $blog->status == 'draft'
                ])
                >Draft</option>
            <option value="archived" @selected($blog->status == 'archived')
                @class([
                'bg-purple-600 text-white' => $blog->status == 'archived'
                ])
                >Archived</option>
        </select>
    </label>
</div>
laravel 9 selected old value when edit

laravel 9 selected old value when edit


Example 2

laravel 9 selected dropdown category value. this is selected old value is laravel one to many relationships

<div class="mb-6">
    <label class="block">
        <span class="text-gray-700">Select Category</span>
        <select name="category_id" class="block w-full mt-1 rounded-md">
            @foreach ($categories as $category)
            <option @selected($category->id == $post->category_id)
                value="{{ $category->id }}">{{ $category->name }}</option>
            @endforeach
        </select>
    </label>
</div>


Style color laravel 9 selected dropdown category value with @class blade directives.

<div class="mb-6">
    <label class="block">
        <span class="text-gray-700">Select Category</span>
        <select name="category_id" class="block w-full mt-1 rounded-md">
            @foreach ($categories as $category)
            <option @selected($category->id == $post->category_id) value="{{ $category->id }}"
                @class([
                'bg-purple-600 text-white' => $category->id == $post->category_id
                ])>
                {{ $category->name }}
            </option>
            @endforeach
        </select>
    </label>
</div>
laravel 9 category selected old value when edit

laravel 9 category selected old value when edit


Example 3

Laravel 9 selected edit tags value using @selected blade directives. Given dropdown value is using laravel many to many relationships.

<div>
    <label for="tags" class="block mb-2 text-sm font-medium text-gray-900">
        Select tags
    </label>
    <select id="tags" name="tags[]"
        class="bg-gray-50 border border-gray-300 text-gray-900 rounded-lg block w-full p-2.5"
        multiple>
        @foreach ($tags as $tag)
            <option value="{{ $tag->id }}" @selected($post->tags->contains($tag->id))>
                {{ $tag->name }}
            </option>
        @endforeach
    </select>
</div>


laravel 9 many to many selected relationships style edit dropdown value using @class and @selected.

<div>
    <label for="tags" class="block mb-2 text-sm font-medium text-gray-900">
        Select tags
    </label>
    <select id="tags" name="tags[]"
        class="bg-gray-50 border border-gray-300 text-gray-900 rounded-lg block w-full p-2.5" multiple>
        @foreach ($tags as $tag)
        <option value="{{ $tag->id }}" @selected($post->tags->contains($tag->id))
            @class([
            'bg-purple-600 text-white' => $post->tags->contains($tag->id)
            ])>
            {{ $tag->name }}
        </option>
        @endforeach
    </select>
</div>  
laravel 9 many to many selected Relationships

laravel 9 many to many selected Relationships