我有以下代码来创建下拉列表:
<div>
<label>Project List:</label>
{!!Form::select('projects_list[]', $projects_list, $project, ['id'=> 'projects_list','class'=>'form-control'])!!}
</div>
工作正常,它将在页面加载时从$ project显示所选项目。
($ projects_list是所有项目的列表,$ project是特定的选定项目)
如果我添加一些代码来创建&#34;请选择选项&#34;;
<div>
<label>Project List:</label>
{!!Form::select('projects_list[]', array_merge(['0' => 'Please select'], $projects_list), $project, ['id'=> 'projects_list','class'=>'form-control'])!!}
</div>
如果在页面加载时没有传递任何项目,则会正确显示该选项,但如果项目通过则不会显示该项目。
是否有另一种显示&#34选项的方法;请选择&#34;并且仍然能够显示所选项目?
**** 编辑 ****
我在此期间所做的是:
在我的控制器中:
$projects_list = Project::lists('id','name');
$projects_list = array_flip(array_merge(['Please select if applicable'=>0], $projects_list));
我发现如果我不进行数组翻转/数组合并,则会将id转换为0,1,2,3之类的密钥而不是数据库ID&#39 ; s为0,10,15,23等等。
也许现在这是最好的选择?或者是否有更优雅的解决方案?
**** 结束编辑 ****
答案 0 :(得分:1)
要添加其他选项,您可以使用+
运算符将两个数组放在一起而不会影响键
$projects_list = ['Please select if applicable'] + $projects_list;