我有一个带有数据数组的选择框,以像这样填充它:
{!! Form::select('language',$languageArray,'null', ['id'=>'language','multiple',]) !!}
我通过view传递$ languageArray,并且只是一个[[A','B','C']等值的数组...
现在,在获取所选值的同时,我正在获取所选选项的数值。有没有一种方法可以将数值从数字索引更改为“在选项中写入文本”。我使用关联数组作为第二个参数来做到这一点,如下所示:
['english' => 'English',
'french' => 'French',
'so on ...' => 'So On ..']
但是它创建了一个长长的列表,并且视图似乎过载了数据,是否有更好的方法来实现低于输出的输出?
<select name="language">
<option value="english" ">English</option>
<option value="french">French</option>
....
我建议您使用Config值,
在配置文件夹中创建一个类似于languages.php的文件。
<?php
return ['english' => 'English',
'french' => 'French',
'so on ...' => 'So On ..'
'german' => Lang::get('languages.german')
];
看法 :
{!! Form::select('language',Config::get('languages'),'null', ['id'=>'language','multiple',]) !!}
如您所见,通过这种方式,您还可以在其他视图中使用配置值,并支持多语言(它也很重要。请参见“德语”)
最后一个选择是创建自己的Form宏,例如,
Form::macro('slugiySelect', function($name , $list , $selected = null , $options = [])
{
$options = [];
foreach($list as $row)
$options[Str::slug($row)] = $row;
return Form::select($name , $options , $selected , $options);
});
在此宏中,您的options数组使用Laravel字符串函数进行了精编,并用作键,我将值保留为您的值。您可以按照自己的方式来做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句