Update :
Je suis pas loin du tout d'y arriver.
L'ajax fonctionne, le filtrage du select fonctionne mais la variable ne récupère pas la valeur de $id_categorie_recette_selected (qui est bien récupérée) dans l'ajax du coup le filtrage ne rentre jamais dans la condition if($id_categorie_recette_selected != null).
Une idée ? 😃
{* * Affichage du formulaire d'ajout d'une fabrication. *} <div class="panel"> <!-- FORMULAIRE A REMPLIR --> <div class="form_formulaire_reception"> <form name="fabrication" method="post" action=""> <div class="form-group col"> <label for="categorieRecetteDataList">Catégorie recette :</label> {assign var=categoriesRecette value=CategorieRecette::getcategoriesRecette()} <select name="categorieRecette" class="form-select" id="categorieRecetteSelect"> <option selected="selected">Choisir une catégorie</option> {foreach from=$categoriesRecette item=categorieRecette} <option value="{$categorieRecette.id_categorie_recette}">{$categorieRecette.nom_categorie_recette}</option> {/foreach} </select> </div> <div class="form-group col"> <label for="recetteDataList">Nom de la recette :</label> {$id_categorie_recette_selected = 2} <= "2" doit être remplacé par la valeur de $id_categorie_recette_selected provenant du return dans l'ajax {if isset($id_categorie_recette_selected) != null} {assign var=recettes value=Recette::getRecettesByCategorie($id_categorie_recette_selected)} {else} {assign var=recettes value=Recette::getRecettes()} {/if} <select class="form-control" id="recetteDataList"> <option selected="selected">Choisir une recette</option> {foreach from=$recettes item=recette} <option value="{$recette.id_recette}">{$recette.nom_recette}</option> {/foreach} </select> </div> <div class="form-group col"> <label for="date_fabrication">Date de fabrication :</label> <input type="date" name="date_fabriation" required/> </div> <div class="form-group col"> <label for="num_lot_fabrication">N° de lot : </label> <input type="text" name="num_lot_farication" required/> </div> <div class="form-group col"> <label for="quantite_meo">Quantité totale mise en oeuvre : </label> <input type="text" name="quantite_meo" required/> </div> <label for="recetteDataList">Unité de mesure :</label> {assign var=unites value=Unite::getUnites()} <select class="form-control" id="uniteDataList"> <option selected="selected">Choisir une unité</option> {foreach from=$unites item=unite} <option value="{$unite.id_unite}">{$unite.nom_unite}</option> {/foreach} </select> <p></p> <input type="submit" class="btn btn-lg btn-block" style="background-color: #4CAF50;color: white;" name="validerAjoutFabrication" value="VALIDER"/> </form> </div> </div> <script> $(document).ready(function(){ $( "#categorieRecetteSelect" ).change(function() { var id_categorie_recette_selected = $('#categorieRecetteSelect :selected').val(); $.ajax({ method : 'POST', url: '../modules/gestionProduction/controllers/admin/AdminGestionFabricationController.php', data: id_categorie_recette_selected, dataType: 'html', success: function(json) { return id_categorie_recette_selected; } }); console.log('Selected value : ' + id_categorie_recette_selected); return id_categorie_recette_selected; }); }); </script>
.png.022b5452a8f28f552bc9430097a16da2.png)