Envoyer la valeur d'un select comme paramètre en ajax
Bonjour !
Alors tout d'abord, il faut savoir que je n'y connais pas grand chose en ajax, et que je suis trèèèèès débutante en jquery...
Je développe mon site avec CakePHP 3.
Donc voilà ce que je voudrais faire:
J'ai une page avec une liste déroulante d'années, et un tableau. Le tableau se remplit en fonction de l'année choisie dans la liste déroulante.
Donc en gros, je voudrais récupérer l'année de la liste déroulante, et l'envoyer à ma fonction en paramètre.
Voici ce que j'ai fais pour l'instant :
Ma vue (mon select):
Code:
<?php echo $this->Form->year('year', ['minYear' => 2000, 'maxYear' => date('Y'), 'class' => 'year', 'default' => 'maxYear', 'id' => 'year']); ?>
Ma fonction dans mon contrôleur :
Code:
1 2 3 4 5 6 7
| public function archive($year = null)
{
debug($year);
$operations = $this->Operations->find('all')->contain(['Environnements', 'Sites'])->where(['year' => $year])->order(['name ASC']);
$this->set('operations', $operations);
} |
Ma fonction javascript:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $(document).ready(function($)
{
$('#year').change(function(e){
var select = $('#year').val();
console.log(select);
$.ajax({
url: '/Intranet/centralisation_url/pages/archive',
type: 'get',
data: {year: select},
/*success: function(data){
}*/
});
});
}); |
Donc j'arrive à récupérer l'année quand je modifie mon select. Bien qu'il faudrait qu'il récupère l'année à la première lecture aussi...
Bref, comment envoyer la valeur du select à mon contrôleur pour que ma fonction la prenne en paramètre ?
Merci par avance pour votre aide :)
Ju'