Bonjour, je suis sur une application spring mvc et j'aimerai integré une fonction ajax dedans.
Nom : select.PNG
Affichages : 146
Taille : 10,6 Ko
En faite, lorsque qu'on clique sur famille, on recupere les sous famille appartenant a cette famille et afficher dans le select.
Ma fonction est donc la suivante:
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
17
18
19
20
21
22
 
 <c:url var="chercherSousFamilleURL" value="sousfamille.do" />
    <script type="text/javascript">
$(document).ready(function() { 
	$('#idFamille').change(
			function() {
				$.getJSON('${chercherSousFamilleURL}', {
					idFamille : $(this).val(),
					ajax : 'true'
				}, function(data) {
					var html = '<option value="">Sous Famille</option>';
					var len = data.length;
					for ( var i = 0; i < len; i++) {
						html += '<option value="' + data[i].idSousFamille + '">'
								+ data[i].sousfamille + '</option>';
					}
 
					$('#idSousFamille').html(html);
				});
			});
});
</script>
.... la suite de la jsp
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
 
</tr>
						<tr>
							<th>Famille :</th><td><form:select path="idFamille" id="idFamille" >
							<option value="0">Choisir une famille</option>
 							<c:forEach items="${listeFamille}" var="famille">
							<option value="${famille.idFamille}">${famille.famille}</option>
							</c:forEach>
 							</form:select>
							</td><td><form:errors path="idFamille"></form:errors></td>
							<th>Sous Famille :</th><td><form:select  path="idSousFamille" id="idSousFamille">
							<option value=""> Sous famille</option>
							</form:select>
							</td>
							<td><form:errors path="idSousFamille"></form:errors></td>
						</tr>
dans mon controleur, j'ai la methode suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 @RequestMapping(value = "/sousfamille.do", method = RequestMethod.GET)
	    public @ResponseBody
	    List<Sousfamille> SousfamilleParFamille(
	    		@RequestParam(value = "idFamille", required = true) String idFamille) {
	    	return sousFamilleService.getSousFamilleByFamille(Integer.parseInt(idFamille));
	    }
La methode marche a moitié puisque lorsque je selectionne une famille, je vois a travers la console d'eclipse une ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Hibernate: select sousfamill0_.idSousFamille as idSousFa1_7_, sousfamill0_.idFamille as idFamille7_, sousfamill0_.refSousFamille as refSousF3_7_, sousfamill0_.sousfamille as sousfami4_7_ from bdagroparts.sousfamille sousfamill0_ where sousfamill0_.idFamille=?
Donc je crois que le probleme se trouve lorsque je recupere ces données...., en tout cas ça ne les affiche pas comme "option" du deuxieme "select".
J'attends vos suggestions!