从表单中的选择列表中发送值而不是键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表单中的选择列表中发送值而不是键相关的知识,希望对你有一定的参考价值。

下面是从字段中删除重复值并仅返回一个值的代码。

Controller中的数组值

$job_types = DB::table('jobs')->pluck('job_type')
            ->unique(function ($item){
                return $item;
            });

下面使用字段中提取的数组创建一个选择列表。

html

<div class="form-group col-sm-4" id="job_type">
    {!! Form::label('job_type', 'Emne:') !!}

    {!! Form::select('job_type', $job_types, null, ['class' => 'form-control', 'id' => 'job_type']) !!}
</div>

enter image description here

上面的图像是我在表单中的选择列表。我尝试在Laravel中的表单中发送选定的值而不是键。

但是,当我在选择列表中选择一个值时,他们总是返回一个键而不是一个值,如下面的图像(数据库屏幕截图)。哪部分代码错了?

enter image description here

'job_types'集合如下。

enter image description here

答案

作为一个$job_types,它是id设置$job_types作为它的真名。

所以你必须重建:

return $item->name; // name is the proper value from your database

$job_types = DB::table('jobs')->pluck('job_type')
            ->unique(function ($item){
                return $item->name;
            });

确保你使用正确的方法:https://laravel.com/docs/5.6/collections#method-pluck

以上是关于从表单中的选择列表中发送值而不是键的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Apex 5.1:基于 LOV(值列表)的报告列显示返回值而不是显示值

如何将列表视图中的数据从一个片段发送到另一个片段

防止表单提交字段输入键keydown? [复制]

我的列表中的打印函数返回 int 值而不是列表中的字符串

在 ag 网格下拉列表中,如何在选择后显示名称并在保存集值而不是名称上显示。?

Python中的函数更改列表值而不是变量值[重复]