Reputation: 11656
I have a select2 field like which accepts multiple attribute:
<div class="col-lg-5 m-input--solid">
<select class="form-control m-select2 m-input--solid" id="m_select2_3" name="collegeCourses" multiple>
@foreach($courseCategories as $courseCategory)
<optgroup label="{{$courseCategory}}">
@foreach($courseNames->$courseCategory as $courseName)
<option value="{{$courseName}}" >
{{$courseName}}
</option>
@endforeach
</optgroup>
@endforeach
</select>
</div>
Note that I have specified multiple
in my select form.
But the $request has only the last selected value!!
also manually checking also displays that $request has only last value
$input = Input::all();
$roles = $input["collegeCourses"];
echo $roles; //output: Mrs. Eldora Blick
What is going wrong here?
Upvotes: 0
Views: 458
Reputation: 26278
The issue is here:
<select class="form-control m-select2 m-input--solid" id="m_select2_3" name="collegeCourses" multiple>
you have to pass the name se an array like:
collegeCourses[]
so that it can accept multiple selected values. And you can get these values by using foreach()
loop like:
foreach($collegeCourses as $course)
{
// do what you want here
}
Upvotes: 4
Reputation: 17624
Simply add [] to the name of the element so it becomes collegeCourses[] instead and can be treated as array.
Upvotes: 0