There are 4 check boxes with the same name in the view, and when I get the values in the laravel(php) controller with that name, I am supposed to get an array. But I am only getting the values of the check boxes which are checked, even I am not getting zero or null in place of unchecked checkboxes.
<div id="action1" name="action1[]">
<input type="checkbox" name="checkAction1[]" >
<select id="a1" class="form-control actionSelect" name="action1[]" >
<option value="" selected="selected">Action Name</option>
</select>
<select class="form-control catSelect" name="cat1[]">
<option value="" selected="selected">Category Type</option>
</select>
</div>
<div id="action2" name="action1[]">
<input type="checkbox" name="checkAction1[]" >
<select class="form-control actionSelect" name="action1[]" >
<option value="" selected="selected">Action Name</option>
</select>
<select class="form-control catSelect" name="cat1[]">
<option value="" selected="selected">Category Type</option>
</select>
</div>
<div id="action3" name="action1[]">
<input type="checkbox" name="checkAction1[]" >
<select class="form-control actionSelect" name="action1[]" >
<option value="" selected="selected">Action Name</option>
</select>
<select class="form-control catSelect" name="cat1[]">
<option value="" selected="selected">Category Type</option>
</select>
</div>
<div id="action4" name="action1[]">
<input type="checkbox" name="checkAction1[]" >
<select class="form-control actionSelect" name="action1[]" >
<option value="" selected="selected">Action Name</option>
</select>
<select class="form-control catSelect" name="cat1[]">
<option value="" selected="selected">Category Type</option>
</select>
</div>
Controller:
$checkboxArray=$request['checkAction1'];
Its only giving checked check boxes.
Could any one help on this. Thank you.
Add a hidden input for the checkbox
<input type="checkbox" name="checkAction1[]" value="Yes" > <input type="hidden" name="checkAction1[]" value="No" >
The correct example with hidden
input is:
<input type="hidden" name="checkAction1[]" value="0" >
<input type="checkbox" name="checkAction1[]" value="1" >
in the controller, modify the request
if (!$request->has('field')) {
$request->merge(['field' => 0]);
}