es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Opción seleccionada: Laravel Livewire

Tengo un desplegable y en la página de edición quiero mostrar la entrada anterior. Utilizo este código, pero todavía muestra “por favor seleccionar”. ¿Dónde está el problema?

<select wire:model.defer="form.department" id="form.department" class="tf-input">
    <option value="null" selected="" disabled="">{{ __('Por favor seleccionar') }}</option>
    @foreach($this->departments as $department)
        <option {{="" $form-="">department_id == $department->id ? 'selected' : '' }} value="{{ $department->id }}">{{ $department->name }}</option>
    @endforeach
</select>
Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema está con el atributo selected disabled en la etiqueta de la primera opción. Incluso si hay una entrada antigua, el atributo disabled evitará que la opción previamente seleccionada se muestre como seleccionada. Para solucionar esto, puedes eliminar el atributo disabled y agregar una directiva @if para verificar si hay una entrada antigua para ese campo y establecer el atributo selected en consecuencia.

    Aquí está el código actualizado:

    <select wire:model.defer="form.department" id="form.department" class="tf-input">
        <option value="null" selected="">@lang('Por favor seleccione')</option>
        @foreach($this->departments as $department)
            <option {{="" (old('form.department',="" $form-="">department_id) == $department->id) ? 'selected' : '' }} value="{{ $department->id }}">{{ $department->name }}</option>
        @endforeach
    </select>
    

    En el código anterior, verificamos la entrada antigua utilizando la función auxiliar old() y nos quedamos con el valor actual de $form->department_id. Si el $department->id actual coincide con la entrada antigua o el valor actual, establecemos el atributo selected. La directiva @lang() se utiliza en lugar de la función __() para la traducción.

Comments are closed.