Laravel表格每行单选按钮独立分组实现求助
Laravel表格每行单选按钮独立分组实现求助
嘿,我一眼就看出问题所在啦!你现在所有的单选按钮都共用了同一个name="status"属性,浏览器会把所有同名的单选框归为一组,自然只能选中一个。要实现每行独立选择,关键是给每行的单选按钮组设置唯一的name属性,最好结合产品的ID来做区分,这样就不会互相干扰了。
另外还有个小细节:你现在的id="Active"和id="Deactive"在循环里会重复生成,这不符合HTML规范(id必须唯一),所以也要把id改成带产品ID的唯一值,对应的label的for属性也要同步修改哦。
下面是修改后的完整代码:
<?php $i = 1; ?> @foreach ($products as $product) <tr> <td scope="row">{{ $i++ }}</td> <td>{{ $product->name ?? '' }}</td> <td><img src="{{asset($product->image)}}" class="product-img-2" alt="product img"></td> <td> <div class="col-md-2"> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="status[{{ $product->id }}]" value="active" {{($product->status == 'active') ? 'checked' : '' }} id="Active-{{ $product->id }}"> <label class="form-check-label" for="Active-{{ $product->id }}"> active </label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="status[{{ $product->id }}]" value="deactive" {{ ($product->status == 'deactive') ? 'checked' : '' }} id="Deactive-{{ $product->id }}" > <label class="form-check-label" for="Deactive-{{ $product->id }}"> deactive </label> </div> </div> </td> </tr> @endforeach
这样修改后,每行的单选按钮都会形成独立的分组,你就能为每个产品单独选择active或deactive状态啦。提交表单后,后端会收到一个status数组,键是产品ID,值是对应的状态,处理起来也很方便。
备注:内容来源于stack exchange,提问作者abdulmonem alnasrabi
相关产品推荐
相关产品推荐

