Possible en double:
How to dynamically populate options on dropdown lists based on selection in another dropdown?menu déroulant populate automatique basée sur la sélection précédente
Je tables MySQL regarder comme ça
table régionsid | region
-------------------
1 | Region1
2 | Region2
.. .
et écoles Table
id | school
-------------------
1 | schno1
1 | schno5
1 | schno6
2 | scho120
Il y a plusieurs menus de sélection (déroulants) dans mon formulaire d'inscription. La liste déroulante des régions ressemble à cela
<td>
<select name="region" id="region">
<option value="">Region</option>
<?php
$result=$db->query("SELECT * FROM regions");
while($row=$result->fetch_array(MYSQLI_BOTH))
{
echo '<option value="'.$row[0].'">'.$row[1].'</option>';
}
?>
</select>
</td>
<td>
<div id="sch_dropdown">
<select name="school" id="school">
<option value="">School</option>
</select>
</div>
<span id="loading"><img src="core/design/img/jquery-ui/loading.gif" width="16" height="16" align="absmiddle"> Loading...</span>
<div id="no_sch">No schools found</div>
</td>
Je veux remplir une nouvelle liste déroulante basée sur les sélections précédentes. Ce que je veux faire est, obtenir l'identification de «régions», puis remplir le menu déroulant d'écoles basé sur l'id (identification de la sélection précédente) du tableau «d'écoles» à la volée. Voici mon code mais ça ne marche pas.
Mon js ressemble que
$(document).ready(function(){
function populate() {
fetch.doPost('core/code/includes/search.php');
}
$('#region').change(populate);
var fetch = function() {
var schools = $('#schools');
return {
doPost: function(src) {
$('#loading').show();
$('#sch_dropdown').hide();
$('#no_sch').hide();
if (src) $.post(src, { region_code: $('#region').val() }, this.getschools);
else throw new Error('No SRC was passed to getCounties!');
},
getschools: function(results) {
if (!results) return;
schools.html(results);
$('#loading').hide(); // Hide the Loading...
$('#sch_dropdown').show(); // Show the drop down
}
}
}();
populate();
});
et search.php
if(isSet($_POST['region_code'])) {
$res=$db->query("SELECT * FROM schools WHERE id='".$_POST['region_code']."'");
while ($row = $res->fetch_array(MYSQLI_BOTH)) {
echo '<option value="'.$row[0].'">'.$row[1].'</option>';
}
}
S'il vous plaît aidez-moi à terminer. Merci d'avance.
@Tural Teyyuboglu jeter un oeil à ma réponse modifiée –
s'il vous plaît quelqu'un me aider à le faire fonctionner –