dynamische dropdown: options aanmaken met JS en AJAX en PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lonneke Kolkman

Lonneke Kolkman

20/04/2019 18:05:54
Quote Anchor link
Hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
        }


?>


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.
 
PHP hulp

PHP hulp

29/11/2024 09:28:20
 
- Ariën  -
Beheerder

- Ariën -

20/04/2019 18:09:26
Quote Anchor link
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.
Gewijzigd op 20/04/2019 18:10:27 door - Ariën -
 
Adoptive Solution

Adoptive Solution

20/04/2019 18:43:39
Quote Anchor link
Zoiets?

http://adoptive.2kool4u.net/dynamic_select/

Bekijk de bron voor de code en volg zonodig de link op de pagina.
 
Lonneke Kolkman

Lonneke Kolkman

20/04/2019 18:51:54
Quote Anchor link
- 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.


Ja dat realiseer ik me nu ook, maar ik was aan het experimenteren

Ik ben een beginner met PHP en web development
 
- Ariën  -
Beheerder

- Ariën -

20/04/2019 18:56:40
Quote Anchor link
Die gecommentariseerde lijn was overigens prima.
 
Lonneke Kolkman

Lonneke Kolkman

20/04/2019 18:57:09
Quote Anchor link
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.


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.
 
- Ariën  -
Beheerder

- Ariën -

20/04/2019 19:00:48
Quote Anchor link
Je wilt met je script wat je aanroept, de data uitspugen die je nodig hebt, en vaak zonder enige bewerking.
Dus zorg er eerst eens voor dat deze netjes data uitspuugt die je nodig hebt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.