【问题标题】:Array of selected options in Form::select?Form::select 中的选定选项数组?
【发布时间】:2018-11-01 23:01:00
【问题描述】:

我有一个数组,其中包含选择列表 (html) 中选定选项的 ID。 在 Laravel 中它看起来像:

<?=Form::select('type_work[]', $work_types, old('type_work'), ['multiple' => "multiple", 'size' => 15, 'id' => 'type_work', "class" => "selectpicker form-control"]);?>

其中第二个参数是构建选项的传入数据,第三个参数是所选选项的数组(id)。

为什么它在 Laravel 中不起作用?

这是传入的数据:

Collection {#488 ▼
  #items: array:14 [▼
    14 => "Роботи, пов’язані з проведенням технічної експертизи."
  ]
}

这是选定的数据:

Collection {#408 ▼
  #items: array:1 [▼
    14 => "Роботи, пов’язані з проведенням технічної експертизи."
  ]
}

【问题讨论】:

  • 所以,我使用multiple list
  • 你使用的是哪个版本的 laravel; php artisan --version 会告诉你
  • 我使用的是 5.3 版本
  • like $users = Users::lists('username', 'id'); Form::select('user', $users);
  • 并且作为第 4 个参数,您应该指定它是这样的多选:['multiple' =&gt; 'multiple']

标签: laravel laravel-5


【解决方案1】:

您使用的金额 type_work[] 被视为字段的 ID。您必须将 Name 的值指定为数组。

如下修改代码

{{Form::select('type_work',$work_types,null,array('multiple'=>'multiple','name'=>'type_work[]'))}}

【讨论】:

    【解决方案2】:

    所以你的代码应该是这样的

    <?=Form::select('type_work[]', $work_types, null, ['multiple' => true, 'size' => 15, 'id' => 'type_work', "class" => "selectpicker form-control"]);?>
    

    Reference

    Docs

    【讨论】:

    • 键值应该相同?
    • 不,但是看看你上面使用的,它们不一定是
    • 就像我在上面的表单中使用的用户一样,id 将被隐藏而用户名将被显示。
    • 为什么你从名称中删除了[],为什么第三个参数为空?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多