Как автоматически выбрать вариант в раскрывающемся списке при другом варианте раскрывающегося списка

Я хочу автоматически выбрать вариант в раскрывающемся списке из варианта, выбранного в раскрывающемся списке выше. Я пытаюсь сделать это в Livewire, но на самом деле не знаю, что делать (я новичок в этом). Можно ли это сделать на другом языке вместо Livewire?

Это мой вид blade.php:

<div>
<div class="form-group">
    <label for="company">{{ __('assistances.company') }}</label>
    <select wire:model="selectedCompanyId" contract-label="{{ trans_choice('contracts.label', 2) }}"
                             priority-label="{{ __('companies.priority') }}"
                             remaining-label="{{ __('companies.remaining_hours') }}"
                             previous-value="{{ $assistance->company_id ?? old('company_id') }}">
        <option value="0" selected disabled>-</option>
        @foreach(\App\Company::all() as $company)
            <option  value="{{ $company->id }}"
                    @if(old('company_id', $company_id ?? '') == $company->id) selected @endif>
                {{ $company->ref }} - {{ $company->name }}
            </option>
        @endforeach
    </select>
    @error('company_id')
    <span class="invalid-feedback d-block">{{ $message }}</span>
    @enderror
</div>

@if(!@is_null($this->company->id))
    {{$this->company->name}}
@endif
@feature('commissions')
<div class="form-group">
<label for="commission_id">{{ trans_choice('commissions.name', 1) }}</label>
        <select name="commission_id"
                          classes="form-control @error('commission_id') is-invalid @enderror">
            <option value="0" selected disabled>-</option>
            @foreach(\App\Commission::with('company')->where('status', '!=', \App\Enums\CommissionStatus::ARCHIVED)->get() as $commission)
                <option value="{{ $commission->id }}"
                        @if(old('commission_id') == $commission->id) selected @endif>
                    {{ $commission->ref }} @isset($commission->company) - {{ $commission->company->name }} @endisset - {{ $commission->description }}
                </option>
            @endforeach
        </select>
        @error('commission_id')
        <span class="invalid-feedback d-block">{{ $message }}</span>
        @enderror
</div>
@endfeature

А это мой компонент livewire:

class AutoFill extends Component
{
    public $selectedCompanyId;


    public function mount()
    {
        $this->selectedCompanyId = 0;
    }

    public function render()
    {
        return view('livewire.auto-fill',[
            'company' => Company::all(),
            'commission'=> Commission::all(),
        ]);
    }

    public function getCompanyProperty()
    {
        return Company::find($this->selectedCompanyId);
    }
}

person Maximusrain    schedule 15.02.2021    source источник


Ответы (1)


Ознакомьтесь с зависимыми раскрывающимися списками родитель-ребенок видео YouTube, в котором объясняется значение раскрывающегося списка на основе другого значения раскрывающегося списка. Livewire значительно упрощает работу.

person Digvijay    schedule 15.02.2021
comment
Да, я видел это видео, но этот код мне не подходит - person Maximusrain; 16.02.2021
comment
Мне нужно сделать что-то подобное output.jsbin.com/oyaloc/2 (опубликовано: stackoverflow.com/questions/6965597/) - person Maximusrain; 16.02.2021