【发布时间】:2017-04-16 19:13:02
【问题描述】:
我正在尝试让复选框被选中
这是我的看法
<div class="form-group">
{!! Form::label('extra_services', 'Add extra services') !!}
<div class="form-group">
<?php var_dump (array($temp->extra_services))?>
@foreach($extra as $ext)
<div class="checkbox">
<label>
{!! Form::hidden('extra_services', 0) !!}
<input type="checkbox" name="extra_services[]" value="{!! $ext->id !!}"
{!! in_array($ext->id, array($temp->extra_services)) ? 'checked' : '' !!} >
{!! $ext->title !!}
</label>
</div>
@endforeach
</div>
</div>
编辑 这是我的编辑控制器
public function edit($id)
{
$temp = Template::query()->findOrFail($id);
$extra = TempExtraService::all();
return view('admin.templates.tempDetails.edit', compact('temp', 'extra'));
}
这是我的更新控制器
public function update(Requests\TemplateRequest $request, $id)
{
$temp->extra_services = implode($request->extra_services, ',');
$temp->save();
return Redirect::back()->with('states', 'Templates has been updated successfully');
}
当我转储 $temp->extra_services 时,我得到了 array(1) { [0]=> string(3) "1,2" }
但在视图中,第一个复选框只选中了第二个复选框,它也不应该被选中。
我在这里做错了什么。
【问题讨论】:
-
只是否决这个问题并不意味着我明白我的错误在哪里请描述。
-
您需要添加更多信息。 $temp->extra_services 的内容是什么?
-
我在我的问题中提到它是一个数组
when I dump my $temp->extra_services I got array(1) { [0]=> string(3) "1,2" }无论如何都会将控制器添加到问题中 -
@Jason 看到我的问题编辑希望这会有所帮助
-
您将
extra_services作为单个隐藏字段,将extra_services[]作为数组。我很确定这是导致行为不一致的原因。
标签: php laravel checkbox laravel-5.2