我在laravel项目中构建了以下select form元素:
{!! Form::select('chapter', [1=>'First', 2=>'Second', 3=>'Third'], [2], ['multiple']); !!}
它工作正常,直到我将chapter
作为GET变量添加到URL。
在project.dev/page?chapter[]=2
这样的页面上,相同的表单没有选择的选项。
我该如何解决?
答案 0 :(得分:0)
解决!
问题出在供应商的代码中:(
\Collective\Html\FormBuilder line 719 in the method getSelectedValue($value, $selected):
return in_array($value, $selected, true) ? 'selected' : null;
但在之前的(5.1)和下一个(5.3)版本中,这一行如下所示:
return in_array($value, $selected, true) || in_array((string) $value, $selected, true) ? 'selected' : null;
在那个版本中,一切都按预期工作。 另外,您可以比较源代码: https://github.com/LaravelCollective/html/blob/5.3/src/FormBuilder.php和 https://github.com/LaravelCollective/html/blob/5.2/src/FormBuilder.php