laravel 7 динамически отображает входные данные на основе выбранного значения

#php #laravel #include #laravel-blade

Вопрос:

У меня есть список групп контактов, у каждой из этих групп может быть список сегментов или нет, мне нужно показать ввод сегмента, если пользователь выбирает группу, в которой есть сегмент. Существует оператор if для условного отображения ввода сегмента, но он работает только после того, как я перейду к следующему шагу и вернусь, как я могу этого добиться и показать ввод сегмента сразу после того, как пользователь выберет группу, в которой есть сегмент?

вот мой код:

 <div class="col-md-4 list_select_box" target-box="segments-select-box" segments-url="{{ action('SegmentController@selectBox') }}">
                @include('helpers.form_control', [
                'name' => 'lists_segments[' . $index . '][mail_list_uid]',
                'include_blank' => trans('messages.choose'),
                'type' => 'select',
                'label' => trans('messages.which_list_send'),
                'value' => (is_object($lists_segment_group['list']) ? $lists_segment_group['list']->uid : ""),
                'options' => Auth::user()->customer->readCache('MailListSelectOptions', []),
                'rules' => isset($rules) ? $rules : []
                ])
        </div>

        @if (is_object($lists_segment_group['list']) amp;amp; collect($lists_segment_group['list']->readCache('SegmentSelectOptions', []))->count())
        <div class="col-md-5 segments-select-box multiple">
            @include('helpers.form_control', [
            'value' => implode(",", $lists_segment_group['segment_uids']),
            'type' => 'select',
            'name' => 'lists_segments[' . $index . '][segment_uids][]',
            'label' => trans('messages.which_segment_send'),
            'options' => collect($lists_segment_group['list']->readCache('SegmentSelectOptions', [])),
            'multiple' => true,
            'quick_note' => trans('messages.leave_empty_to_choose_all_list')
            ])
        </div>
        @endif
 

Ответ №1:

Вам следует использовать java-скрипт или jQuery, надеюсь, этот плагин jquery: dkeeghan / jQuery-doWhen поможет