dynamische dropdown: options aanmaken met JS en AJAX en PHP
Ik probeer een dynamische dropdown te maken. De eerste dropdown heeft een onchange javascript ding wat de volgende AJAX aanroept (zie hieronder). Het idee is dat als de waarde uit de eerste dropdown ('naam') verandert, er code wordt uitgevoerd die uit de MySQL tabel de inspecties ophaalt die bij die opdrachtgever horen.
<script type="text/javascript">
function verkrijgInspecties(naam) {
$.ajax({
type: "POST",
url: "getinspecties.php",
data: "naam =" + naam,
success: function(result) {
alert("success");
}
});
};
</script>
De getinspecties.php heeft de volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include 'dbconfig.php';
if(isset($_POST['naam'])){
//verkrijgInspecties($_POST['naam']);
$naam = $_POST['naam'];
$resultaatinspecties = $conn->query("SELECT datum_inspectie FROM opdrachtgevers, inspecties WHERE opdrachtgevers.id = inspecies.opdrachtgeverid AND opdrachtgevers.naam = '".$naam."'");
while ($record = $resultaatinspecties->fetch_assoc()) {
//echo $record["naam"];
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script type="text/javascript"> var x = document.getElementById("inspectiesvanopdrachtgevers"); var option = document.createElement("option"); option.text = "test"; x.add(option); </script>';
}
?>
include 'dbconfig.php';
if(isset($_POST['naam'])){
//verkrijgInspecties($_POST['naam']);
$naam = $_POST['naam'];
$resultaatinspecties = $conn->query("SELECT datum_inspectie FROM opdrachtgevers, inspecties WHERE opdrachtgevers.id = inspecies.opdrachtgeverid AND opdrachtgevers.naam = '".$naam."'");
while ($record = $resultaatinspecties->fetch_assoc()) {
//echo $record["naam"];
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script type="text/javascript"> var x = document.getElementById("inspectiesvanopdrachtgevers"); var option = document.createElement("option"); option.text = "test"; x.add(option); </script>';
}
?>
de bedoeling is dat ipv "test" er de $record["naam"] in komt. Op de een of andere manier werkt het nog niet, en ik kan nog niet achterhalen waar dat aan ligt.
jQuery moet je vooraf al inladen, en de onbewerkte output tonen.
Gewijzigd op 20/04/2019 18:10:27 door - Ariën -
http://adoptive.2kool4u.net/dynamic_select/
Bekijk de bron voor de code en volg zonodig de link op de pagina.
- Ariën - op 20/04/2019 18:09:26:
Waarom staat die verwijzing naar de jQuery-library IN je PHP-file die je opvraagt?
jQuery moet je vooraf al inladen, en de onbewerkte output tonen.
jQuery moet je vooraf al inladen, en de onbewerkte output tonen.
Ja dat realiseer ik me nu ook, maar ik was aan het experimenteren
Ik ben een beginner met PHP en web development
Die gecommentariseerde lijn was overigens prima.
Adoptive Solution op 20/04/2019 18:43:39:
Zoiets?
http://adoptive.2kool4u.net/dynamic_select/
Bekijk de bron voor de code en volg zonodig de link op de pagina.
http://adoptive.2kool4u.net/dynamic_select/
Bekijk de bron voor de code en volg zonodig de link op de pagina.
Bedankt. Ik heb de code bekeken en ze pakken het op zo'n beetje dezelfde manier aan als ik doe. Ik zie zo nog niet direct waar het verschil zit, maar ik zal er eens nader naar kijken. U ziet zo niet een fout in mijn code, of de structuur waarop ik het aanpak? AJAX met javascript en PHP is nieuw voor mij.
Dus zorg er eerst eens voor dat deze netjes data uitspuugt die je nodig hebt.