У меня есть набор радиобоксов и 2 раскрывающихся списка, которые заполнены ajax и php. Они зависят друг от друга. Он работает нормально, но я хотел бы сохранить элементы в моих раскрывающихся списках после отправки, чтобы пользователь мог изменить выбор в любом раскрывающемся списке. Но я также хочу, чтобы выбор пользователя отображался. Форма используется для фильтрации набора данных в таблице
здесь html
<form name="filtrer-evo" action="<?= htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<div class="row justify-content-center mb-2">
<div class="col-xl-4 text-main-blue">
Sélectionnez un statut
</div>
<div class="col-xl-5">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" <?= checkChecked(0,'etat')?> value="0" id="etat" name="etat">
<label class="form-check-label pr-5" for="etat">En attente de validation</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" <?= checkChecked(1,'etat')?> value="1" id="etat" name="etat">
<label class="form-check-label pr-5" for="etat">En cours</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" <?= checkChecked(2,'etat')?> value="2" id="etat" name="etat">
<label class="form-check-label pr-5" for="etat">Terminée</label>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 text-main-blue">
Sélectionnez un salarié
</div>
<div class="col-xl-5">
<?php foreach ($listResp as $key => $resp): ?>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" <?= checkChecked($resp['id'],'id_resp')?> value="<?=$resp['id']?>" id="resp" name="resp">
<label class="form-check-label pr-5" for="resp"><?=$resp['resp']?></label>
</div>
<?php endforeach ?>
</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 mt-3 pt-2 text-main-blue">
Sélectionnez une application :
</div>
<div class="col-xl-5">
<div class="form-group">
<label for="appli"></label>
<select class="form-control" name="appli" id="appli">
<option value="">Sélectionner</option>
</select>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 mt-3 pt-2 text-main-blue">
Sélectionnez un module :
</div>
<div class="col-xl-5">
<div class="form-group">
<label for="module"></label>
<select class="form-control" name="module" id="module">
<option value="">Sélectionner</option>
</select>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-9 pt-3 text-right">
<button class="btn btn-primary" name="filtrer">Filtrer</button>
</div>
</div>
</fieldset>
</form>
ajax
$("input:radio[name='resp']").click(function () {
var resp=$('input[name="resp"]:checked').val();
$.ajax({
type:'POST',
url:'ajax-get-evo.php',
data:{id_resp:resp},
success: function(html){
$("#appli").append(html);
console.log(html);
}
});
});
$('#appli').on("change",function(){
var appli=$('#appli').val();
$.ajax({
type:'POST',
url:'ajax-get-evo.php',
data:{id_appli:appli},
success: function(html){
$("#module").html(html)
}
});
});
});
php
$evoMgr=new EvoManager($pdoEvo);
$arrayPlateformeAppli=EvoHelpers::arrayAppliPlateformeName($pdoEvo);
if(isset($_POST["id_resp"]) && !empty($_POST["id_resp"])){
$datas=$evoMgr->getListAppliResp($_POST['id_resp']);
if(!empty($datas)){
foreach ($datas as $key => $data) {
echo '<option value="'.$data['id'].'">'.$arrayPlateformeAppli[$data['id']].' - '.$data['appli'].'</option>';
}
}
}
if(isset($_POST["id_appli"]) && !empty($_POST["id_appli"])){
$datas=$evoMgr->getListModule($_POST["id_appli"]);
if(!empty($datas)){
echo '<option value="">Sélectionner un module</option>';
foreach ($datas as $key => $data) {
echo '<option value="'.$data['id'].'">'.$data['module'].'</option>';
}
}else{
echo '<option value="0">Aucun module</option>';
}
}