在我的控制器中,我将一个客户列表传递给视图
public function edit(Project $project)
{
$clients = Client::select('clientName', 'id')->get();
return View::make('projects.edit', compact('project', 'clients'));
}
现在在我看来,我目前正在做这个
<div class="form-group">
{!! Form::label('clientName', 'Client Name:', array('class' => 'col-sm-5 control-label blue')) !!}
<div class="col-sm-7">
<select class="clientName" name="clientName">
@foreach($clients as $client)
@if (Input::old('clients') == $client->id)
<option value="{{ $client->id }}" selected="selected">{{ $client->clientName }}</option>
@else
<option value="{{ $client->id }}">{{ $client->clientName }}</option>
@endif
@endforeach
</select>
</div>
</div>
我要做的是将默认选择选项设置为旧输入。目前,select显示所有客户端,但旧值不是默认值。
我如何将其作为默认选项?
由于
更新 我正在尝试另一种方式。在我的编辑功能中我做
public function edit(Project $project)
{
$clients = Client::lists('clientName', 'id');
return View::make('projects.edit', compact('project', 'clients'));
}
然后在我看来我做了
<div class="form-group">
{!! Form::label('clientName', 'Client Name:', array('class' => 'col-sm-5 control-label blue')) !!}
<div class="col-sm-7">
{!! Form::select('clientName', $clients, Input::old('clients'), ['class' => 'clientName']) !!}
</div>
</div>
虽然看起来有同样的问题,但客户端不是旧客户端作为默认选择选项。
由于
答案 0 :(得分:1)
您的选择名称为clientName
,但您的旧输入正在查找名称为clients
的字段。
以下内容应该有效:
<option value="{{ $client->id }}" {!! old('clientName', $project->client->id) == $client->id ? 'selected="selected"' : '' !!}>{{ $client->clientName }}</option>