首页 > 解决方案 > 如何使复选框选中和未选中这两个值?

问题描述

我正在研究 laravel ACL。在每个角色中都有一组权限。我使用复选框表示所有权限。当我提交表单时,它只检查了权限的值。但我想获得所有检查和未检查的值。 在此处输入图像描述

当我点击更新按钮时,它只显示这些值

[
    {
        "read": "true",
        "create": "true"
    }
]

我想获得这样的价值。

[
    {
        "read": "true",
        "create": "true",
        "delete": "false",
        "update": "false"
    }
]

我正在尝试使用 JQuery,但没有得到预期的结果。如果有其他方法请建议。

我的观点部分。

@foreach($role->permissions as $key=>$value)
    <td><input type="checkbox" name="permisssions[{{$key}}]" class="role" value="true"  {{ $value==1 ? 'checked' : '' }}></td>
@endforeach

我的控制器部分。

public function role_permissions_update(Request $request, $id)
{
    return array($request->permisssions);

}

标签: jquerylaravelcheckboxlist

解决方案


如果唯一的问题是获取未选中复选框的值,则可以使用这样的隐藏输入

<input type="hidden" name="permisssions[{{$key}}]" class="role" value="true"  {{ $value==1 ? 'checked' : '' }}>
        <input type="checkbox" name="permisssions[{{$key}}]" class="role" value="true"  {{ $value==1 ? 'checked' : '' }}>

如果他们选中复选框,您将获得它的值,如果没有,您将获得隐藏输入的值


推荐阅读