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):
Ma fonction dans mon contrôleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $this->Form->year('year', ['minYear' => 2000, 'maxYear' => date('Y'), 'class' => 'year', 'default' => 'maxYear', 'id' => 'year']); ?>
Ma fonction javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'
Partager