I want to set check-boxes state from database, so I write,
{{ Form::checkbox('asap', null, $offer->asap) }}
But if I want to set 'id' to the check-box like
{{ Form::checkbox('asap', null, $offer->ASAP, array('id'=>'asap')) }}
It always set my check-box state to true. (Before user select it)
So question how set 'id' in blade check-boxes when check-box state is set before user select it?
“check if checkbox checked laravel blade” Code Answer //If the checkbox is checked, then the $request->check will not be null. Otherwise, it will. //Then the $isChecked variable will be true if the checkbox is checked, and false if it isn't.
The <input type="checkbox"> defines a checkbox. The checkbox is shown as a square box that is ticked (checked) when activated. Checkboxes are used to let a user select one or more options of a limited number of choices. Tip: Always add the <label> tag for best accessibility practices!
I know this question was answered before, in this one I am going to explain step by step how to implement checkboxes with Laravel/blade with different cases ...
So in order to load your checkboxes from the database or to test if a checkbox is checked :
First of all you need to understand how it works, as @itachi mentioned :
{{ Form::checkbox( 1st argument, 2nd argument, 3rd argument, 4th argument ) }}
Example :
{{ Form::checkbox('admin') }} //will produces the following HTML <input name="admin" type="checkbox" value="1"> {{ Form::checkbox('admin', 'yes', true) }} //will produces the following HTML <input checked="checked" name="admin" type="checkbox" value="yes">
How to get checkboxes values ? ( in your controller )
Methode 1 :
public function store(UserCreateRequest $request) { $my_checkbox_value = $request['admin']; if($my_checkbox_value === 'yes') //checked else //unchecked ... }
Methode 2 :
if (Input::get('admin') === 'yes') { // checked } else { // unchecked }
Note : you need to assign a default value for unchecked box :
if(!$request->has('admin')) { $request->merge(['admin' => 0]); }
this is nice right ? but how could we set checked boxes in our view ?
For good practice I suggest using
Form::model
when you create your form this will automatic fill input values that have the same names as the model (as well as using different blade Form:: inputs ..)
{!! Form::model( $user, ['route' => ['user.update', $user->id], 'method' => 'put' ]) !!} {!! Form::checkbox('admin', 1, null) !!} {!! Form::close() !!}
You can also get it like this :
{{ Form::checkbox('admin',null, $user->admin) }}
Okey now how to deal with :
let's say we want to get working days from our database
$working_days = array( 0 => 'Mon', 1 => 'Tue', 2 => 'Wed', 3 => 'Thu', 4 => 'Fri', 5 => 'Sat', 6 => 'Sun' ); @foreach ( $working_days as $i => $working_day ) {!! Form::checkbox( 'working_days[]', $working_day, !in_array($working_days[$i],$saved_working_days), ['class' => 'md-check', 'id' => $working_day] ) !!} {!! Form::label($working_day, $working_day) !!} @endforeach //$saved_working_days is an array of days (have 7 days, checked & unchecked)
I've spent sometime to figure out how to deal with multiple checkboxes I hope this can help someone :)
3rd argument decides whether checkbox is checked or not. So probably $offer->ASAP
(or $offer->asap
is true (or not false or not null). If you want to to make checkbox unchecked either set it to false, or don't use 3rd argument (set to to null or false):
{{ Form::checkbox('asap',null,null, array('id'=>'asap')) }}
EDIT
Another possibility is that you have on your page some custom JavaScript code that finds element by asap
id and checks this checkbox. So when you don't set id, JavaScript cannot check it, but when you set this id, the checkbox will be checked by JavaScript.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With