繁体   English   中英

Laravel与Ajax:依赖下拉列表的复选框

[英]Laravel with Ajax: Dropdown dependent Checkbox

我想创建一个基于角色权限的视图,其中有一个下拉列表和一个复选框列表。 但是,当用户从下拉列表中选择一个角色时,应该将其与之对应的权限进行检查,而其他权限则保持未选中状态。 为此,我使用了以下视图:

<div class="form-group">
    <label for="">Roles</label>
    <select class="form-control input-sm" name="role_id" id="role_id">
        <option selected="selected" style=" display: none;">Choose a Role</option>
        @foreach($roles as $role)
        <option value="{{$role->id}}">{{$role->role}}</option>                        
        @endforeach
    </select>
</div>

@foreach($permissions as $permission)
<div class="checkbox">                       
    <label><input type="checkbox" value="{{$permission->id}}">{{$permission->label}}</label>
</div>
@endforeach

这是ajax部分

<script>
    $('#role_id').on('change', function (e) {
        var role_id = $('#role_id option:selected').attr('value');
        var info = $.get("{{url('permission-selected')}}", {role_id: role_id});
        info.done(function (data) {
            $.each(data, function (index, subcatObj) {

            });
        });
    });
</script>

这是路线:

<?php
Route::get('permission-selected', function(Request $request) {

    $role_id = $request::input(['role_id']);

    $roles = Role::with('permissions')::where('role_id', '=', $role_id)->get();

    return Response::json($roles);
});
?>

问题是我无法使用下拉菜单设置复选框。.有人可以建议一个吗?

您不能将复选框添加到下拉选择中。 相反,您需要使用列表项创建自定义下拉菜单,并编写onclick函数以隐藏和显示下拉菜单。 我以前是这样的

尝试类似的东西;

// Uncheck all
$("[type='checkbox']").prop("checked", false);
// Check current checkbox by using unique id or value selector.
$("[value*='']").prop("checked", true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM