Laravel заполняет поле выбора на основе другого поля выбора

Я даже не знаю, с чего начать. Я использую поля формы Laravel и LaravelCollective. Я хочу заполнить второе поле выбора script (содержащее даты) на основе выбора в первом поле выбора patient, содержащем имена. Я предполагаю, что это каким-то образом будет связано с JavaScript?

Модель сценария содержит столбец patient_id, который связывает его с моделью пациента, поэтому его можно использовать для фильтрации дат сценария только по тем, которые принадлежат пациенту.

Контроллер

$patients_select = Patient::orderBy('last_name', 'asc')
    ->get()
    ->pluck('full_name', 'id');

$scripts_select = Script::orderBy('prescribe_date', 'desc')
//      ->where('patient_id', $patient_id)
    ->pluck('prescribe_date', 'id')
    ->map(function ($date, $key) {
        return date('m/d/Y', strtotime($date));
    });

Лезвие

<div class = "form-group">
    {{Form::label('patient', 'Patient')}}
    {{Form::select(
        'patient',
        $patients_select,
        null, 
        ['class' => 'form-control', 'placeholder' => 'Select a Patient']
    )}}
</div><!-- /form-group -->

<div class = "form-group">
    {{Form::label('script', 'Script')}}
    {{Form::select(
        'script',
        $scripts_select,
        null, 
        ['class' => 'form-control', 'placeholder' => 'Select a Script']
    )}}
</div><!-- /form-group -->
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
138
1

Ответы 1

Вам нужно будет прослушать событие change, если пациент выберет (да, в javascript). Здесь есть как минимум две возможности:

  1. Сохраните все данные «сценария» в переменной javascript, а затем укажите параметры в выбранном сценарии.

  2. Визуализируйте все возможные выборки в файле .blade и скройте их с помощью display: none. В зависимости от выбора пациента вам нужно будет показать только один выбор сценария. Будьте осторожны, чтобы не отправить их все при отправке формы.

Ну, вы также можете перезагрузить страницу после выбора, но я сомневаюсь, что вы хотите это сделать. ;)

Другие вопросы по теме