I have a form created for editing a Trip. One field is ‘Public’ which is a boolean. When public is checked as true, I can’t get it to show and update on the edit form.
addTrip.blade.php
JavaScript
x
<div class="form-group">
{!! Form::label('is_public', 'Make Trip Itinerary Public') !!}
{!! Form::checkbox('is_public', 'value'); !!}
</div>
editTrip.blade.php
JavaScript
<div class="form-group"> Make Public
<input type="checkbox" name="is_public" class="switch-input" value="{{$trip->is_public}}" />
</div>
TripController
JavaScript
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required',
'destination' => 'required',
'startdate' => 'required',
'enddate' => 'required',
'user_id' => 'required',
]);
//Update Trip
$trip = Trip::find($id);
$trip->name = $request->input('name');
$trip->email = $request->input('email');
$trip->destination = $request->input('destination');
$trip->startdate = $request->input('startdate');
$trip->enddate = $request->input('enddate');
$trip->is_public = $request->has('is_public');
$trip->save();
return redirect('trips')->with('sucess', 'Trip Updated');
}
Advertisement
Answer
input type checkbox has the property checked
. if you want to make it checked then you have to add the property.
JavaScript
<input type="checkbox" name="is_public" class="switch-input" value="{{$trip->is_public}}" {{ $trip->is_public == 1 ? 'checked' : null }}/>
use whatever value you have stored in your database instead of 1.