Laravel 8 et 2 dropdwn

Petit nouveau ! | 2 Messages

01 févr. 2022, 22:46

Bonjour à tous,
j'ai deux dropdown dependants.
Je souhaite récupérer les valeurs sélectionnées par l'utilisateur pour afficher les données dans une liste (via une base de donnée).

DropDown category

Code : Tout sélectionner

<select class="form-control" name="category" id="category"> @foreach ($category as $item) <option value="{{ $item->id }}">{{ $item->name }}</option> @endforeach </select>
Dropdown course alimenté par un script

Code : Tout sélectionner

<select class="form-control" name="course" id="course"> </select>
Le script pour alimenter Dropdown course

Code : Tout sélectionner

<script> $(document).ready(function() { $('#category').on('change', function() { var categoryID = $(this).val(); if(categoryID) { $.ajax({ url: '/getCourse/'+categoryID, type: "GET", data : {"_token":"{{ csrf_token() }}"}, dataType: "json", success:function(data) { if(data){ $('#course').empty(); $('#course').append('<option hidden>TOUS</option>'); $('#course').append('<option>TOUS</option>'); $.each(data, function(key, course){ $('select[name="course"]').append('<option value="'+ key +'">' + course . name+ '</option>'); }); }else{ $('#course').empty(); } } }); }else{ $('#course').empty(); } }); }); </script>
Je souhaite envoyer les deux valeurs sélectionnées via un button, du style :

Code : Tout sélectionner

<div class="flex"> <a href="{{ route('search', category.selected.value , course.selected.value ) }}" <button type="button" class="rounded-lg text-center text-align-middle px-2 py-2 bg-blue-600 text-white font-medium text-xs leading-tight uppercase hover:bg-blue-700 focus:bg-blue-700 focus:outline-none focus:ring-0 active:bg-blue-800 transition duration-150 ease-in-out">RECHERCHE</button></a> </div>
Savez vous comment je peux faire ?

Merci de vos lumières !
Bonne soirée à tous !

Eléphant du PHP | 385 Messages

01 févr. 2022, 23:11

Hello,

- utilise un onclick https://www.w3schools.com/jsref/event_onclick.asp sur ta balise button
- tu récupères tes deux data en jquery des deux select
- tu utilises $.ajax pour l'envoie
- pour la récupération soit tu récupère les data et affiche en jquery soit tu fais une redirection je ne sais pas comment tu as géré ça à toid e voir

Mammouth du PHP | 2703 Messages

01 févr. 2022, 23:25

mettre les 2 select et le bouton entre <form ...> et </form>

Petit nouveau ! | 2 Messages

02 févr. 2022, 09:10

Merci pour vos conseils, je regarde cela.
Bonne journée !