我有一个创建/编辑表单
@if(isset($vendor))
{{ Form::model($vendor,array('route' => 'vendor-edit'))}}
@else
{{ Form::open(array('route' => 'vendor-post'))}}
在此表单中我列出了一个复选框
@foreach ($locations as $location)
<div style='display:none' class="{{$location['state']['state']}}">
{{Form::checkbox('city[]',$location['id'])}}{{$location['city']}}
</div>
@endforeach
我注意到在编辑模式下正在检查所有内容。似乎它的名字是'city []'有问题。
答案 0 :(得分:0)
您的代码表示对于每个位置,如果$location->city
具有任何值,则应将名为city[]
的复选框标记为已选中(因为city
中的任何非空或非零值将评估为true
)。
将复选框的名称从city[]
更改为true
中包含false
/ locations
值的字段,该字段应确定复选框的状态;或者,将名称从city[]
更改为其他内容(因此模型表单绑定不会尝试根据$location->city
进行设置)并通过设置第3个来设置checked
值Form::checkbox
到true
/ false
的参数,基于其他字段的值:
{{ Form::checkbox('thecity[]', $location->id, $location->other_field > 0 ) }}