Laravel 表单生成器多选所选项目

尤里·L。

在多选中显示所选项目时遇到问题。

在“index.blade.php”实体视图中有一个“filter.blade.php”子视图

子视图片段,表单输入,多个多选之一:

<div class="col-lg-4 col-md-4 form-group">
    {!! Form::label('subcategories', trans('art-work.subcategory'), ['class' => 'control-label']) !!}
    {!! Form::select('subcategories[]', $subcategories, $_subcategories,
        [
            'id' => 'subcategories',
            'class' => 'form-control select2',
            'multiple' => 'multiple',
            'data-placeholder' => trans('crud.choose'),
    ]) !!}
</div>
....
{{ Log::info('subcategories', $_subcategories) }}

控制器动作,处理来自请求的输入以过滤结果

public function filter(Request $request)
{
    $this->validate($request, $this->filterRules);
    $filters = [
        'category_id'     => (int) $request->category_id,
        'subcategories'   => $request->subcategories,
        'grades'          => $request->grades,
        'students'        => $request->students,
        'professors'      => $request->professors,
    ];

    $works = ArtWork::filtered($filters);
    $subcategories = Category::where('category_id', $filters['category_id'])
        ->get()
        ->pluck('title', 'id')
        ->toArray();

    return view('panel.art-work.index', [
        'works'           => $works,
        'subcategories'   => $subcategories,

        '_category'       => $filters['category_id'],
        '_subcategories'  => $filters['subcategories'],
        '_grades'         => $filters['grades'],
        '_students'       => $filters['students'],
        '_professors'     => $filters['professors'],

        '_filter'         => true,
    ]);
}

因此,当过滤器表单提交给控制器并显示带有“_subcategories”等变量的视图时,应该从多选中的请求中选择 id。但没有选择。

http://joxi.ru/82QeLzDi135Xy2

这很奇怪,我卡住了......

谢谢

尤里·L。

我的工作解决方案是:

字符串化每个选项值(在我的例子中是 ID)。

在 html 中,而不是

<select>
   <option value="1">First</option>
   <option value="2">Second</option>
   ...
   <option value="n">Nth</option>

<select>

应该是这样的

<select>
       <option value="d1">First</option>
       <option value="d2">Second</option>
       ...
       <option value="dn">Nth</option>

<select>

因此,在为表单生成器多选传递带有键值对的数组之前,我添加了字母,例如,'d' 到值。

并且,在提交所选项目的表单后,我在处理此数据之前清除每个值并删除字母

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

laravel orderByRaw()在查询生成器上

来自分类Dev

Laravel查询生成器返回对象还是数组?

来自分类Dev

Laravel代码生成器

来自分类Dev

laravel雄辩的关系从查询生成器

来自分类Dev

Laravel删除查询生成器

来自分类Dev

Laravel 5:在不使用表单生成器的情况下放置,修补和删除请求

来自分类Dev

Laravel查询生成器输出测试

来自分类Dev

Laravel和HTML表单生成器

来自分类Dev

Laravel 5查询生成器中的多个select()

来自分类Dev

Laravel:在“查询生成器”或“雄辩的”中更改原始查询

来自分类Dev

Laravel查询生成器的联接计数

来自分类Dev

Laravel查询生成器搜索(匹配)

来自分类Dev

使用集体表单生成器为Laravel中的select字段设置默认值?

来自分类Dev

Laravel ER图表生成器getAllModelsFromEachDirectory()

来自分类Dev

Laravel搜索功能查询生成器

来自分类Dev

laravel模式生成器时间戳

来自分类Dev

laravel雄辩的关系,从查询生成器

来自分类Dev

Laravel删除查询生成器

来自分类Dev

Laravel代码生成器

来自分类Dev

Laravel查询生成器输出测试

来自分类Dev

Laravel的雄辩的ORM与查询生成器

来自分类Dev

Laravel查询生成器查询

来自分类Dev

Lumen中的Laravel查询生成器

来自分类Dev

Laravel API 生成器

来自分类Dev

Laravel 查询生成器:意外输出

来自分类Dev

Laravel:查询生成器生成器返回与实际 mysql 查询不同的结果

来自分类Dev

Laravel foreach 查询生成器结果

来自分类Dev

Laravel 查询生成器多选和命名列

来自分类Dev

Laravel 查询生成器左连接