Avatar billede NSDK Nybegynder
17. maj 2014 - 23:13 Der er 3 kommentarer

Dynamisk visning af DIV

Hej!

Jeg søger hjælp til noget PHP/AJAX/jQuery programmering. Jeg er ikke helt sikker på hvordan det skal løses, så derfor søger jeg hjælp!

Jeg har en select-boks på min side. Den indeholder nogle forskellige værdier.
Jeg vil gerne kunne vise en DIV indeholdende de informationer der tilhører den valgte værdi. Elementerne skal hentes fra min MySQL database uden brug af submit.

Hvordan er det muligt. Det vil sige at det skal være 100% dynamisk.

Jeg håber virkelig der er en venlig sjæl der kan hjælpe med et eksempel så jeg kan lære hvordan jeg skal gøre det.

På forhånd mange tak!
Avatar billede sessingo Nybegynder
18. maj 2014 - 05:59 #1
Jeg har lavet et lille eksempel - det er ikke testet, men det burde pege dig lidt i retningen af hvordan det fungerer.

DIN AJAX HANDLER

<?php
$result = array();
if(isset($_GET[‘type'])) {
    $type = $_GET[‘type'];

    // Hent dine informationer fra databasen og smid dem i et array
    // jeg bruger bare dummy data til det her formål

    for($i=0;$i<10;$i++) {
        $result[‘data'][] = array(‘name' => ‘Test_'.$i, ‘value' => $i);
    }
}

echo json_encode($result);

?>


DIN HTML FIL (HUSK AT INKLUDERE JQUERY)

<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <select class="js-changeexample">
            <option value="Hamster">Hamster</option>
            <option value="Hund">Hund</option>
            <option value="Hare">Hare</option>
        </select>

        <select class="js-load">

        </select>

        <script>
            $(document).ready(function() {
                $(‘.js-changeexample').bind(‘change', function(e) {
                    e.preventDefault();
                    var loadExample = $(‘.js-load');
                    var val = $(this).val();
                    loadExample.find(‘option').remove();
                    $.ajax(‘/minhandler.php', function(r) {
                        if(r != null && r.data != null && r.data.length > 0) {
                            $.each(r.data, function(i) {
                                loadExample.append(‘<option value="‘+ i.value +'">‘+ i.name +'</option>');
                            });
                        }
                    });
                });
            });
        </script>
    </body>
</html>

Held og lykke med det!

- Simon
Avatar billede NSDK Nybegynder
18. maj 2014 - 20:29 #2
Hej Simon,

Tak for dit eksempel.
Jeg har prøvet at se om jeg kunne gennemskue det, men idet jeg er helt ny i AJAX, så kunne jeg nok godt bruge lidt uddybende kommentarer til dit eksempel.
Har du mulighed for at vise hvordan det kunne se ud når man skal hente data ud fra en database?

Endnu en gang tusind tak for hjælpen!
Avatar billede NSDK Nybegynder
18. maj 2014 - 22:37 #3
Hej igen Simon,

Jeg fandt ud af det.
Tak for hjælpen.
Smid et svar, og du får dine points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester