Код: Выделить всё
Select::make("meta.employment_state")
->label("Province")
->getSearchResultsUsing(fn (string $search): array => State::query()->where('name', 'like', "%{$search}%")->limit(10)->pluck('name', 'id')->toArray())
->getOptionLabelUsing(fn ($value): ?string => State::find($value)?->name)
->afterStateUpdated(function (Set $set) {
$set('meta.employment_city', null);
})
->live()
->searchable()
->extraAttributes(['x-data' => '{ selected: false }', 'x-on:change' => 'selected = $event.target.value !== ""'])
->dehydrated(false),
Select::make("meta.employment_city")
->label("City")
->getSearchResultsUsing(fn (string $search, Get $get): array => City::query()->whereRelation('state', 'id', '=', $get('meta.employment_state'))->where('name', 'like', "%{$search}%")->limit(10)->pluck('name', 'id')->toArray())
->getOptionLabelUsing(fn ($value): ?string => City::find($value)?->name)
->placeholder('انتخاب کنید')
->searchable()
->extraAttributes(['x-show' => 'selected', 'x-cloak' => true]),
Это необходимо сделать динамически, поэтому я добавил атрибуты JS, чтобы что-то получилось, но оно не работает и по-прежнему показывает ввод города без необходимости заполнения ввода провинции, и это неправильно.
Итак, как это сделать с помощью Нить ?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ynamically
Мобильная версия