php - 如何检查用户是否选择了多个复选框
问题描述
我正在开发一个 Laravel 5.8 项目,它是一个在线商店。在这个项目中,我想为管理员添加“打印订单因素”功能。
所以我做了一个这样的表格:
<form method="POST" action="{{ route('orders.newprint') }}">
@csrf
@forelse($orders as $order)
<tr>
<td><input class="form-check-input" name="orderCheck[]" type="checkbox" value="{{ $order->ord_id }}"> </td>
<td>{{ $order->ord_id }}</td>
<td>{{ $order->status_label }}</td>
<td>{{ $order->customer_name }}</td>
<td>{{ $order->ord_total }}</td>
</tr>
@empty
<td colspan="7" class="text-center">No order to show</td>
@endforelse
</form>
所以基本上管理员可以像这样选择多个订单:
我正在尝试将订单 ID 作为数组发送:
<input class="form-check-input" name="orderCheck[]" type="checkbox" value="{{ $order->ord_id }}">
现在在控制器,我需要检查用户是否选择了多个订单
public function prnpriview(Request $request)
{
if(!empty($request->input('actions'))){
if($request->input('actions')=='print_factors'){
if(USER SELECTES MORE THAN ONE CHECKBOX) {
...
return view('admin.shop.orders.newprint', compact('args'));
}else{
return back();
}
}
}else{
return back();
}
}
那么如何检查用户是否选择了多个复选框(多个复选框)?
我真的很感激你们关于这个的任何想法或建议......
谢谢。
解决方案
$request->orderCheck
将在一个数组中,因此您可以使用count()
$checked = $request->input('orderCheck',[]);// if checkbox is not checked than return empty array
if(count($checked) > 1) {
return view('admin.shop.orders.newprint', compact('args'));
}else{
return back();
推荐阅读
- javascript - 我在 HTML 中制作的可播放结构很平淡,通用属性没有帮助
- azure - 如何将“存储 Blob 数据读取器”角色分配给 azure 中的用户/组?
- bash - 如果第一行匹配表达式,则删除行,但接下来的 2 行不匹配不同的表达式
- mongodb - 如何在 M1 Mac 上下载 MongoDB 服务器?
- android - 无法在 Flutter 中访问 Firebase 存储
- node.js - Nextjs 在 _app.js 中重定向“页面未正确重定向”
- ubuntu - KDE 桌面程序在 /usr/bin 中看到的内容与用户在终端中看到的不同 - 为什么?
- java - 如何从与不同代理关联的多个 Kafka 主题中消费?
- android-studio - 如何使用 sqlite 数据库中的按钮删除某个项目
- python - 使用 lxml etree 编辑 xml 文件而不修复格式