【发布时间】:2015-12-11 12:13:18
【问题描述】:
在我的控制器中,我将客户端列表传递给视图
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>
我想要做的是将默认选择选项设置为旧输入。目前,选择显示所有客户端,但旧值不是默认值。
如何将其设为默认选项?
谢谢
更新 我正在尝试另一种方法。在我的编辑功能中,我会这样做
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>
似乎有同样的问题,客户端不是旧客户端作为默认选择的选项。
谢谢
【问题讨论】:
-
嗯...如果您允许我问一下,您要编辑什么?您使用的旧(“客户”)指的是什么?你知道 Form::model 方法吗?有更简单的方法可以完成您想做的事情。让我看看我能不能帮你。顺便说一句,你可以用
Client::lists('clientName','id')代替Client::select('clientName', 'id')->get(),不是吗? -
我已经更新了原来的帖子,它使用了列表选项
-
我不太明白你的新问题是什么,你能解释一下吗?
-
当然,没问题。我再次更新了原来的帖子。谢谢
-
您能检查一下返回给您的
Input::old('clients')的内容吗?在您的视图中放置{{ var_dump(Input::old('clients')) }},然后使用Input::old('clientName')重试,因为您的选择是以这种方式命名的