Как скрыть выпадающий список и как выбрать несколько элементов из раскрывающегося списка? - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть выпадающий список с днями недели, которые я хочу выбрать несколько дней, например, «Понедельник» и «Вторник». У меня есть несколько вопросов

  • 1) Как скрыть выпадающий список? Потому что он показывает весь список
  • 2) Как его выбрать? я должен держать CTRL для множественного выбора?
  • 3) Как он будет сохранен в базе данных, если я собираюсь поместить его в виде строки в тот же столбец, я имею в виду, будет ли он похож на «MondayTuesday», «Monday Monday» или «Monday, Tuesday»

Вот мой взгляд

        <div class="form-group">
            {{Form::label('weekdays', 'Week Days')}}

            {{Form::select('weekdays',$weekdays,null,array('name'=>'weekdays[]', 'multiple' => 'multiple'))}}
            {{Form::select('timetable',$time,null,array('name'=>'time[]'))}}
        </div>

Контроллер

        $categories_name = Category::pluck('category_name','id');    
        $data = array(
            'weekdays' => [
                'Monday',
                'Tuesday',
                'Wednesday'
            ],
            'time' => [
                '2p.m',
                '3p.m'
            ],
            'categories_name' => $categories_name
        );
        return view('pages.clubs.create_club')->with($data);
    }

см. Скриншот, чтобы понять, что я имею в виду

1 Ответ

1 голос
/ 08 апреля 2019

Для 1 и 2, вы можете использовать плагин под названием selected , он хорошо документирован и очень прост в реализации.

Для вопроса номер 3 вы можете сохранить его в формате jsonв базе данных примерно так:

$days = "Monday,Tuesday,Wednesday"; 
//or $days = $request->weekdays;
$parsed = explode(",", $days);
$selected_weekdays = json_encode($parsed);

Model::create(['weekdays' => $selected_weekdays]);

Затем вы можете отобразить значение на блейде, расшифровав строку json следующим образом:

$selected_weekdays = json_decode($model->weekdays);

{{Form::select('weekdays[]',$weekdays,$selected_weekdays,array('multiple' => 'multiple'))}}

ОБНОВЛЕНИЕ 1:

Желательно установить его с помощью беседки:

bower install chosen

Для использования выбрано:

<link rel='stylesheet' type="text/css" href="{{ asset('bower_components/chosen/chosen.min.css') }}" rel="stylesheet">

{{Form::select('weekdays[]',$weekdays,$selected_weekdays,array('multiple' => 'multiple', 'class' => 'chosen-select'))}}

<script src="{{ asset('bower_components/chosen/chosen.jquery.min.js') }}"></script>

<script>
    $(".chosen-select").chosen();
</script>
...