Bonjour à tous,
mon but est qu'au click sur un select, le chargement des options depuis une base de données se face automatiquement et de manière transparante.
ma structure :
2 controllers : Welcome et un ajax/Ajax_welcome (ajax étant un dossier dans controllers)
2 models : un "normal" et un ciblé ajax
vue : page principale : profil, template/header, template/footer (template étant un dossier dans views)
Le fonctionnement actuel :
par javascript, onMouseDown sur ma balise select -> déclenche l'appel au controller ajax via ajax : ajax_welcome/ajax_select -> le model ajax est appelé.
== via firebugs, dans le html, le résultat est juste et j'ai bien les toutes dernières valeurs sans recharger la page entière.
MAIS -> le contenu de mon select ne s'adapte pas avec les nouvelles données de la BDD.
voici mes codes :
Mon footer comprend (views/template/footer):
Mon controller spécial ajax comprend (controllers/ajax/Ajax_welcome):
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//select function chercheActivite(){ $.ajax({ url: "<?php echo base_url().'index.php/'; ?>ajax_welcome/ajax_select", type: 'POST', async : true, success: function() { $('#message').html('En théorie cest bon'); } }); return false; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function ajax_select() { $this->load->model("m_tache"); // on charge le fichier model $data['listeselect'] = $this->m_tache->listeselect(); // var_dump($data); $this->load->view('profil',$data); echo 'RE1- en théorie cest bon'; }
Mon model spécial ajax (models/M_tache) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public function listeselect() { $this->db->order_by('tache','asc'); $query = $this->db->get('listeactivite'); // récupère toute la table if ($query->num_rows() > 0) // si il y a un résultat { foreach($query->result() as $row) { $data[] = $row ; // on place toute les entrées dans un tableau } return $data; // on retourne le tableau } }
Si vous savez comment me permettre de mettre à jour la balise select à son click ça serait génial.
Merci d'avance
Partager