簡體   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