从Laravel中的多选表单中获取选定的值

SUB*_*0DH 12 php laravel laravel-3

要生成默认选择项目的下拉列表,请执行以下操作:

echo Form::select('size', array('L' => 'Large', 'M' => 'Medium', 'S' => 'Small'), 'S');
Run Code Online (Sandbox Code Playgroud)

所以我生成了一个下拉列表,默认情况下选择了多个项目,方法如下:

echo Form::select('size', array('L' => 'Large', 'M' => 'Medium', 'S' => 'Small'), array('S', 'M'), array('multiple'));
Run Code Online (Sandbox Code Playgroud)

但是,如何获得多个选定值?

Input::get('size') 仅返回最后选择的字符串.

Mat*_*tRt 36

首先,如果您希望默认选择多个项目,则必须将值数组作为第三个参数,而不是简单值.

例:

Form::select('size', array('L' => 'Large', 'M' => 'Medium', 'S' => 'Small'), array('S', 'M'), array('multiple'));
Run Code Online (Sandbox Code Playgroud)

应显示选择了S和M的选择.

对于第二点,您应该尝试给出一个名称size[]而不是size,它可以解决问题(因为您发布的选择不是一个简单的值,它是一个值数组)

  • 谢谢你的回答.使用`size []`而不是`size`做了我想要的. (7认同)

Far*_*eaz 14

通常选择陈述

<select name="select_name" id="select_name" multiple="multiple">
Run Code Online (Sandbox Code Playgroud)

工作流程是Laravel按名称获取表单元素.要使其工作,请将名称更改为数组.

<select name="select_name[]" id="select_name" multiple="multiple">
Run Code Online (Sandbox Code Playgroud)

这将使laravel将select的值作为数据数组获取.