【问题标题】:laravel populate select boxlaravel 填充选择框
【发布时间】:2015-08-04 17:46:21
【问题描述】:

我之前看到过类似的问题,但无法找到解决问题的方法。所以我有一个 ClientController,里面有这个函数

public function edit(Client $client)
{
    return view('clients.edit', compact('client'));
}

这样就可以将客户端对象传递给我的编辑视图。这个观点差不多就是下面这个

{!! Form::model($client, ['method' => 'PATCH', 'route' => ['clients.update', $client->slug]]) !!}
@include('clients/partials/_form', ['submit_text' => 'Edit Client'])
{!! Form::close() !!}

所以它使用了部分的形式。此刻,局部看起来是这样的

<div class="form-group">
    {!! Form::label('clientName', 'Client Name:') !!}
    {!! Form::text('clientName') !!}
</div>
<div class="form-group">
    {!! Form::label('clientStatus', 'Client Status:') !!}
    {!! Form::select('clientStatus') !!}
</div>

当我访问客户的编辑页面时,我可以看到表单。客户端名称由客户端名称值填充。如果我把它作为文本输入,clientStatus 会被填充,但我不能让它填充在一个选择中,如上所示。此外,clientStatus 可以是 New 或 Existing。我需要使用正在编辑的客户端的状态预先填充选择框,但我还需要选择中可用的其他选项。因此,如果 clientStatus 是 New,则应在选择框中预先选择 New,如果我打开选择,则 Existing 应该是另一个选项。

实现这一目标的最佳方法是什么?

谢谢

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    修改您的选择以包含可能值的数组。

    基本选择 - 标签就是价值

    {!! Form::select('clientStatus',['New','Existing']) !!}
    

    键值选择 - 键是值

    {!! Form::select('clientStatus',[ 1 => 'New', 2 => 'Existing']) !!}
    

    然后表单模型会将选择中的值设置为模型中的值。

    更多信息见docs

    【讨论】:

    • 我是来写解决方案的,但你先来了,投票吧。
    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 2019-04-18
    • 2019-11-22
    • 1970-01-01
    • 2011-09-25
    • 2014-05-24
    • 2020-09-27
    • 2016-03-21
    相关资源
    最近更新 更多