0

For a calculation I need to select the listed data and send the id values ​​via the button. In the method I tried, when I switch pages, it only calculates the data I selected on that page. When I did research, I learned that it is necessary to keep the session. I tried something but no result. How can I reach the conclusion?

public function index(Request $request){
  
    $selectedCheckboxes = session('selected_checkboxes', []);
    $games = Game::orderBy('create_time', 'desc')->paginate(10);
    return view('admin.games.index', compact('games','selectedCheckboxes'));
}
public function calculate(Request $request)
{
    $request->session()->put('selected_checkboxes',json_encode($request>input('selected_checkboxes')));
    $games = $request->input('selected_checkboxes');
    dd($games);
}

 <div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
        <div class="widget-content widget-content-area br-6 box-border">
            <div class="mb-4 mt-4">
                <form action="{{ route('admin.games.calculate') }}" method="POST">
                    @csrf
                    <div class="col-lg-4">
                        <input id="tea-submit" type="submit" class="btn btn-primary" name="submit"
                            value="Calculate">
                    </div>
                    <br>
                    <table class="table table-hover" style="width:100%">
                        <thead class="text-center">
                            <tr>
                                <th>Game ID</th>
                            </tr>
                        </thead>
                        <tbody>
                            <input type="hidden" name="selected_checkboxes" id="selected_checkboxes">
                            @foreach ($games as $game)
                                <tr>
                                    <td scope="row" style="padding:20px">
                                        <label class="control control--checkbox">
                                            <input type="checkbox" name="checkbox[]" value="{{ $game>id}}">
                                            <div class="control__indicator"></div>
                                        </label>
                                        {{ $game->id }}
                                    </td>
                                </tr>
                            @endforeach
                        </tbody>
                        <tfoot class="text-center">
                            <tr>
                                <th>Game ID</th>
                            </tr>
                        </tfoot>
                    </table>
                </form>
                <div class="row">
                    <div class="col-lg-12 d-flex justify-content-center">
                        {{ $games->onEachSide(2)->links() }}
                    </div>
                </div>
            </div>
        </div>
    </div>
<script>
    let selectedCheckboxes = [];

    $(':checkbox').on('change', function() {
        selectedCheckboxes = $('input[name="checkbox[]"]:checked').map(function() {
            return this.value;
        }).get();

        $('#selected_checkboxes').val(selectedCheckboxes);
    });
</script>
amanigurmu
  • 11
  • 6

0 Answers0