- 1
[Opened] [RESOLU] Actualisation valeurs liste de sélection d'un formulaire CRUD avec JQuery
Posted by deeten on 10/18/2009 12:53
Bonjour,
D'abord désolé pour ce post un peu long.
J'ai besoin de votre aide, voila j'ai 3 listes de selection :
<hidden ref="codechamp" defaultvalue="PR0457" /> <menulist ref="code_championnat" required="true"> <label>Championnat</label> <datasource dao="master_admin~base_pays" method="findAllChamp" labelproperty="libplace" valueproperty="codep"/> </menulist> <menulist ref="equipe_accueil" required="true"> <label>Equipe locale</label> <datasource dao="master_admin~clubs" method="findAllByChpt" criteriafrom="codechamp" labelproperty="libclubs" valueproperty="codeclub" /> </menulist> <menulist ref="equipe_visiteuse" required="true"> <label>Equipe visiteuse</label> <datasource dao="master_admin~clubs" method="findAllByChpt" criteriafrom="codechamp" labelproperty="libclubs" valueproperty="codeclub" /> </menulist>
Pour le premier affichage j'ai dû mettre en place un champ caché avec une valeur par défaut.
L'objectif étant que quand je change de valeur dans la première liste, les deux autres listes doivent se mettre à jour automatiquement via le dao et la méthode prévue pour recupérer les valeur.
Apparemment cela ne peut pas se faire sans passer par JQuery. Etant novice en Ajax.
Voici ma fonction ajax :
$(function(){ $('#jforms_master_admin_match_club_code_championnat').change(function () { var str = ""; str = $('#jforms_master_admin_match_club_code_championnat').val(); $('#jforms_master_admin_match_club_codechamp').val(str); $('#jforms_master_admin_match_club_equipe_accueil').load(); $('#jforms_master_admin_match_equipe_visiteuse').load(); }).change(); });
J'affecte bien la valeur du champ caché à chaque sélection d'une nouvelle valeur mais les deux autres listes ne s'actualisent pas. Pourquoi ? That is the question. J'ai cherché en vain et je m'en remets à votre expertise Ajax.
Merci d'avance.
[Opened] Re: Actualisation valeurs liste de sélection d'un formulaire CRUD avec JQuery
Posted by deeten on 10/18/2009 23:10
J'ai modifié ma fonction JQuery et à partir d'une action dans mon controlleur je récupère les données en fonction du code qui varie. Seulement, j'ai toujours le problème du chargement dynamique des nouvelles valeurs.
$(function(){ $('#jforms_master_admin_match_club_code_championnat').change(function () { var code = ""; code = $('#jforms_master_admin_match_club_code_championnat').val(); $('#jforms_master_admin_match_club_codechamp').val(code); // Recuperation des nouvelles valeurs $.ajax({ url: '/index.php/sports05/default/seldata/', type: 'GET', data: 'code=' +code, success: function(result) { console.log(result); $('#jforms_master_admin_match_club_equipe_accueil').val(result); $('#jforms_master_admin_match_club_equipe_visiteuse').val(result); } }); }).change(); });
Seulement rien ne se passe aucune modification des select. Si vous avez une idée merci de la soumettre
A noter que le resultat est un select complet avec les nouvelle valeur.
[Opened] Re: Actualisation valeurs liste de sélection d'un formulaire CRUD avec JQuery
Posted by deeten on 10/20/2009 04:08
Bon, j'ai pas eu l'aide souhaitée sur le forum n'impêche que j'ai fini par trouver la solution tout seul.
Sincèrement pour les experts AJAX, c'étaient évident et je m'étonne de l'absence d'aide sur le forum.
Pour ceux que ça intéressent voici mon script ajax :
$(function(){ $('#jforms_master_admin_match_club_code_championnat').change(function () { var code = $('#jforms_master_admin_match_club_code_championnat').val(); $('#jforms_master_admin_match_club_codechamp').val(code); // Recuperation des nouvelles valeurs $.ajax({ url: '/index.php/sports05/default/seldata/', type: 'GET', data: 'code=' +code, success: function(result) { document.getElementById('jforms_master_admin_match_club_equipe_accueil').innerHTML = result; document.getElementById('jforms_master_admin_match_club_equipe_visiteuse').innerHTML = result; } }); }).change(); });
Dans la réponse ou résultat (récupèré dans la variable result) renvoyé juste la liste des options :
<option value="valeur">Libellé</option>
- 1