laravel - 如何在 Laravel 的选择下拉选项中设置默认值
问题描述
我在 Laravel-5.8 中有这段代码
控制器:
public $leave_applicable_genders = [
"1" => "Both",
"2" => "Male",
"3" => "Female",
];
public function create()
{
$leavetype = new HrLeaveType();
return view('leave.leave_types.create')
->with('leavetype', $leavetype)
->with('leave_applicable_genders', $this->leave_applicable_genders);
}
看法:
<td width="15%">
<select class="form-control select2bs4" data-placeholder="Select Applicable Gender" tabindex="1" name="leave_applicable_gender[]">
@foreach($leave_applicable_genders as $k => $leave_applicable_gender)
<option value="{{$k}}" @if(old("leave_applicable_gender") == "$k") selected @endif>{{$leave_applicable_gender}}</option>
@endforeach
</select>
</td>
如何将选择下拉选项的默认值设置为 1(两者)?
old() 助手不起作用。我该如何纠正这个问题?
谢谢
解决方案
对于数字 1 - 默认情况下,它将被选中,因为它是leave_applicable_gender
数组中的第一个元素。
对于 2 号 - 你可以试试这个
@foreach($leave_applicable_genders as $k => $leave_applicable_gender)
<option value="{{ $k }}" {{ in_array($k, old("leave_applicable_gender") ?? []) ? 'selected' : '' }}>{{ $leave_applicable_gender }}</option>
@endforeach
编辑后的答案
为什么需要将此选择输入设为多项选择。用户只需要选择选项,所以我的建议是
<select class="form-control select2bs4" data-placeholder="Select Applicable Gender" tabindex="1" name="leave_applicable_gender">
@foreach($leave_applicable_genders as $k => $leave_applicable_gender)
<option value="{{$k}}" {{ old("leave_applicable_gender") == $k ? 'selected' : '' }}>{{$leave_applicable_gender}}</option>
@endforeach
</select>
此外,第一个选择的选项将是both
.
推荐阅读
- android - BroadcastReceiver中的Android startActiviy
- excel - 在 Excel 的列块中附加键控行值
- java - 如何在 ViewHolder RecyclerView 适配器中单击时关闭底部表?
- html - Unicode可以在标签的'src'属性中使用而不是路径
- r - 如何通过 R 中的 gt 表按升序(1 月、2 月、3 月)显示我的月份?
- javascript - 完成后的倒计时动作
- node.js - NodeJS 中使用 Async/Await 的顺序分类账条目
- xamarin - xamarin 最新预发布版 5.0.0.1791 中未显示主详细信息汉堡包图标
- sql - case statement using regex like in oracle db
- android - Could not get unknown property 'defaultCompileSdkVersion' for project ':app' of type org.gradle.api.Project