laravel post 带有多个复选框的未选中复选框
laravel post unchecked checkbox with multipul checkboxes
我在表单中有许多选项,提交后循环保存。这些选项中的每一个都包含一个复选框,每个选项都有相同的复选框,我正在使用以下技术将未选中的复选框值添加到 POST 数据中:
因为我想知道复选框是否未被选中并获取该值。
{{ Form::hidden('exclude[]', 0) }}
{{ Form::checkbox('exclude[]', 1) }}
但是,使用此技术的结果是向 'exclude' 项的数组添加了一个额外的值。
'exclude' =>
array (size=10)
0 => string '0' (length=1)
1 => string '0' (length=1)
2 => string '0' (length=1)
3 => string '0' (length=1)
4 => string '1' (length=1)
5 => string '0' (length=1)
6 => string '0' (length=1)
7 => string '0' (length=1)
8 => string '0' (length=1)
9 => string '0' (length=1)
在代码中,此结果取自上述技术的 9 个实例,但一旦勾选了一个复选框,该值就会添加到数组中,而不是替换它。如果我选中每个选项的复选框,它将在 'exclude' 数组中 return 18 个项目。
我怎样才能让它正常工作,就像它被选中一样,而不是 return 未选中的值以及已选中的值。希望这是有道理的:P
这是一个发生了什么的例子:http://web-4bdd8023-5cb2-4f23-adfa-b08b0b136149.runnable.com/
您可以尝试调整字段名称以包含索引。
// some loop
{{ Form::hidden("exclude[$i]", 0) }}
{{ Form::checkbox("exclude[$i]", 1) }}
我结合了@lagbox的回答
<?php $counter=0;?>
@foreach ($sales as $salesperson => $name)
{!! Form::hidden('employee_id['.$counter.']',0 ) !!}
{!! Form::checkbox('employee_id['.$counter.']',$salesperson ) !!} {!! $name !!} <br/>
*Alasan Jika Tidak Masuk: {!! Form::text('employee_reason['.$counter.']','',['class' => 'form-control','id'=>'employee_id-field'] ) !!}
<br/>
<?php $counter = $counter+1; ?>
@endforeach
不够干净,但是可以用。
我在表单中有许多选项,提交后循环保存。这些选项中的每一个都包含一个复选框,每个选项都有相同的复选框,我正在使用以下技术将未选中的复选框值添加到 POST 数据中:
因为我想知道复选框是否未被选中并获取该值。
{{ Form::hidden('exclude[]', 0) }}
{{ Form::checkbox('exclude[]', 1) }}
但是,使用此技术的结果是向 'exclude' 项的数组添加了一个额外的值。
'exclude' =>
array (size=10)
0 => string '0' (length=1)
1 => string '0' (length=1)
2 => string '0' (length=1)
3 => string '0' (length=1)
4 => string '1' (length=1)
5 => string '0' (length=1)
6 => string '0' (length=1)
7 => string '0' (length=1)
8 => string '0' (length=1)
9 => string '0' (length=1)
在代码中,此结果取自上述技术的 9 个实例,但一旦勾选了一个复选框,该值就会添加到数组中,而不是替换它。如果我选中每个选项的复选框,它将在 'exclude' 数组中 return 18 个项目。
我怎样才能让它正常工作,就像它被选中一样,而不是 return 未选中的值以及已选中的值。希望这是有道理的:P
这是一个发生了什么的例子:http://web-4bdd8023-5cb2-4f23-adfa-b08b0b136149.runnable.com/
您可以尝试调整字段名称以包含索引。
// some loop
{{ Form::hidden("exclude[$i]", 0) }}
{{ Form::checkbox("exclude[$i]", 1) }}
我结合了@lagbox的回答
<?php $counter=0;?>
@foreach ($sales as $salesperson => $name)
{!! Form::hidden('employee_id['.$counter.']',0 ) !!}
{!! Form::checkbox('employee_id['.$counter.']',$salesperson ) !!} {!! $name !!} <br/>
*Alasan Jika Tidak Masuk: {!! Form::text('employee_reason['.$counter.']','',['class' => 'form-control','id'=>'employee_id-field'] ) !!}
<br/>
<?php $counter = $counter+1; ?>
@endforeach
不够干净,但是可以用。