Bonjour,
J'ai un code qui me permet d'avoir deux sélecteurs et un affichage de résultat.
Le code fonctionne très bien sauf qu'au lieu de 2 sélecteurs, je voudrai en rajouter 1 pour au total en avoir 3.
Voici mon code :
Si on pouvait me montrer comment faire ça serait sympa. Il faut modifier le code Ajax pour lui indiquer le 3 sélecteurs, mais ne sachant trop comment faire ...
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 <?php require_once 'connexion.php'; $req = $connexion->query('SELECT family FROM items GROUP BY family'); $req->execute(); $families = $req->fetchAll(); ?> <!DOCTYPE html> <html> <head> <title>Test de select AJAX</title> <meta charset="utf8"> <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script> <script type="text/javascript"> $(function(){ var form = $('#form'), family_select = $('#family'), url = form.attr('action'), items_container = $('#items'); $('body').on('change', '#family', function(ev){ $.post( url, form.serializeArray(), function(data){ items_container.html(data); } ); }); }); </script> </head> <body> <form id="form" method="post" action="data.php"> <div id="families"> <label for="family">Famille : </label> <select name="family" id="family"> <option value="">--</option> <?php foreach( $families as $family) : ?> <option value="<?php echo $family['family']; ?>"><?php echo $family['family']; ?></option> <?php endforeach; ?> </select> </div> <div id="items"></div> </form> </body> </html> data.php <?php require_once 'connexion.php'; if( !isset($_POST['family']) || empty($_POST['family'])){ echo ''; return; } $family = htmlspecialchars($_POST['family']); $sql = 'SELECT item FROM items WHERE family LIKE :family ORDER BY item'; $req = $connexion->prepare($sql); $req->execute(array(':family' => $family)); $data = $req->fetchAll(PDO::FETCH_ASSOC); $output = '<label for="item">Elément : </label>'; $output .= '<select name="item">'; $output .= '<option value="">--</option>'; foreach ($data as $item) { $output .= '<option value="' . $item['item'] . '">' . $item['item'] . '</option>'; } $output .= '</select>'; echo $output; return; ?>
Merci d'avance pour vos retours.
Partager