所以我有一个已经在下拉列表中加载的用户列表,我想在需要用户ID加载的地方加载第二个SQL查询。所以选择用户后,我无法执行第二个查询。对我来说似乎一切都很好
这是我的树枝文件中的内容
<select style="color: orangered;" id="visiteurSelectionne" class="zone">
<option disabled selected value="0">Selectionnez un
visiteur</option>
{% for user in users %}
<option value={{ user.id }}>{{ user.username }}</option>
{% endfor %}
</select>
<label class="titre">Mois :</label>
<select style="color: orangered;" id="selectMoisDispo" class="zone">
<option disabled selected value="0" class="date">Selectionnez une date</option>
</select>
这是我的Js函数
$(document).ready(function () {
$('#ficheInfos').hide();
$('#visiteurSelectionne').on('change', function () {
$.ajax({
url: './valide',
type: 'POST',
dataType: 'json',
data: { 'id=' : + this.value },
success: function (data) {
$('#ficheInfos').show();
$('#date').text(data.mois);
}
});
});
});
这是我在控制器中的功能
/**
* @param Request $request
* @return mixed
* @Route("/valide")
* @Method({"POST"})
*/
public function ajaxAction(Request $request): Response
{
if (!$request->isXmlHttpRequest()) {
return new JsonResponse(array('message' => 'You can access to this
url with ajax only'), 400);
}
$em = $this->getDoctrine()->getManager();
$id = $request->request->get('id');
$moisAnne = $em->getRepository("AppBundle:FicheFrais")->getMoisDispo($id);
$response = new Response(json_encode(array(
'mois' => $moisAnne
)));
$response->headers->set('Content-Type', 'application/json');
/* la r�ponse doit �tre encod�e en JSON ou XML, on choisira le JSON
* la doc de Symfony est bien faite si vous devez renvoyer un objet *
*/
new Response(json_encode($response));
return $response;
}
这是我的SQL函数
public function getMoisDispo($idUser)
{
$sqlReq = "SELECT DISTINCT moisAnne FROM fiche_frais WHERE idUtilisateur =' .$idUser. '";
$db= $this->getEntityManager()->getConnection()->prepare($sqlReq);
$db->execute([]);
return $db->fetchAll();
}
我正在等待的重新加载全部日期的数据应通过用户ID加载到第二个列表中
答案 0 :(得分:0)
$('#visiteurSelectionne').on('change', function() {
console.log("Selected value is " + $(this).val());
$.ajax({
url: './valide',
type: 'POST',
dataType: 'json',
data: {
'id': $(this).val()
},
success: function(data) {}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select style="color: orangered;" id="visiteurSelectionne" class="zone">
<option disabled selected value="0">Selectionnez un visiteur</option>
<option value="val-1">val-1</option>
<option value="val-2">val-2</option>
<option value="val-3">val-3</option>
</select>
<label class="titre">Mois :</label>
<select style="color: orangered;" id="selectMoisDispo" class="zone">
<option disabled selected value="0" class="date">Selectionnez une date</option>
</select>