Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

faizali2152's avatar

Select <option> value is not filled when I click on edit button (Displaying data from db to form fields for editing)

Hello developers please help, Basically when I click on edit button form field have data from db row for updating. But fields "status" is not filled with db row value.

In status field, value is selected according to db value (1 = active, 0 = disable).

Note: when page loaded first time and I click on edit button  field status is not filled with data according to db value 1 or 0. But once i edit some row status field is working perfectly (means filled wit data according to db value).

Here is my route:

Route::get('/admin_panel/menu_itemlist/{id}', [AdminController::class, 'getmenuitembyid'])->name('admin.editmenuitem');

here is my script function for fetching and put data in form fields for update:

  <script>
    function editmenu(id){
            
            $.get('/admin_panel/menu_itemlist/'+id,function(item){
                $('#id').val(item.id);
                $('#title1').val(item.title);
                $('#url1').val(item.url);
                $('#description1').val(item.description);
                $('#icon1').val(item.icon);
                $('#status1').val(item.status);
                $('#menu_type1').val(item.menu_type);
                $('#editmenuitem').modal('toggle');
            })
        }   
    </script>

Here is form field status:

<div class="md-form mb-5">
                                <label data-error="wrong"  for="orangeForm-email">
                                    <i class="fas fa-bell prefix grey-text"></i> Status</label>
                                    <select name="status" class="form-control @error('status') is-invalid @enderror" value="{{old('status','')}}">
                                        <option value="">--Select--</option>
                                        <option value="1" {{'active'== old('status','') ? 'selected' : ''}}>Active</option>
                                        <option value="0"  {{'disable' == old('status','') ? 'selected' : ''}}>Disable</option>
                                    </select>
                                {{-- <input type="text" id="status" name="status" class="form-control "> --}}
                                <div id="error_status"></div>
                            </div>

0 likes
2 replies
automica's avatar

@faizali2152 why have you got JavaScript function to load data for your edit form? why not just hit the /edit/{id} route and use standard Laravel form?

automica's avatar
automica
Best Answer
Level 54

@faizali2152 also if you are trying to populate status field why are you trying to set

#status1

not

#status

you should amend to // adding id='status'

    <select name="status" id="status" class="form-control @error('status') is-invalid @enderror" value="{{old('status','')}}">
        <option value="">--Select--</option>
        <option value="1" {{'active' == old('status','') ? 'selected' : ''}}>Active</option>
        <option value="0"  {{'disable' == old('status','') ? 'selected' : ''}}>Disable</option>
    </select>

and then in your editmenu change

   $('#status1').val(item.status);

to

   $('#status').val(item.status);

you do have means to select the 'selected' using php

 {{'disable' == old('status','') ? 'selected' : ''}}

but that wont work If you are passing values in via js.

Please or to participate in this conversation.