Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    menu a tendina asincroni

    Salve a tutti, sono un neofita di programmazione e mi trovo bloccato. Il mio problema è il seguente:

    io ho una form con 2 menu a tendina. Il primo è statico con 3 informazioni, e in base a quello che seleziono il secondo menù a tendina prende dati da db e si popola(ovviamente senza refresh, quindi in modo sincrono con javascript)
    ecco io sono bloccato in quello, ho fatto qualche tentativo ma invano. qualcuno ha una soluzione?

    posto i miei pezzi di codice:

    codice HTML:
    <fieldset>
                        <label class="label-medium">Tipo</label>
                        <select onChange="mostratype(this.value)" class="input-medium round input-4" name="type">
                            <option value="1">Articolo</option>
                            <option value="2">Categoria</option>
                            <option value="3">Pagina</option>
                        </select>
                    </fieldset>
                        <!-- qui va la scelta tipo -->
    e la mostratype è una funzione che ho dichiarato a fine pagina così
    codice HTML:
    <script type="text/javascript">
    
    function mostratype(str)
    {
    <?php
        $type=$str;
        $q="SELECT id_item, title FROM menu_items WHERE status =".MENU_ACTIVE." AND type= ".$type."";
        $db->query($q);
        $items = $db->rows;    
    
    
    echo "<fieldset>
        <label class='label-medium'>Lista tipo</label>
        <select class='input-medium round input-4' name='list'>";
        foreach ($items as $item) {
            echo "<option value=".$item['id_item']."><".$item['title']."></option>";
                };
        echo "</select>
    </fieldset>"
    ?>
    }
    </script>
    ma penso di aver fatto una cavolata. HELP!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ciao e benvenuto, per quello che vuoi fare devi usare ajax documenti sul metodo

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Ciao e benvenuto, per quello che vuoi fare devi usare ajax documenti sul metodo

    grazie!! diciamo che ho risolto per metà, o meglio il primo problema l'ho risolto richiamando un file php con questa funzione:

    codice HTML:
     $('#tipe').load(function(){
        
        console.log("YOOOOOOOO");
        //prendo il valore
        var tipo = this.value;
        
        // faccio la chiamata
        $.ajax({
            url: '/cms/async/typelist.php',
            type: 'Get',
            data: {tipologia : tipo},
            
            success: function(m){
                $('#parent').html(m);
            }
        }); 
    });
    il problema ora è che finche creo un nuovo articolo funziona perchè il valore iniziale del primo menu è vuoto, però la stessa pagina la uso per modificare gli articoli prendendo le info da db, quindi il primo menu si seleziona a caricamento della pagina, e il secondo, essendo su change, non si riempie, dandomi un menu vuoto.. cosa che non voglio, ho provato a fare una funzione identica mettendo load al posto di change.. ma sembra non funzionare. qualche consiglio?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Posta un link alla pagina pubblica, forse vedo la pagina in esecuzione si riesce a trovare una soluzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Posta un link alla pagina pubblica, forse vedo la pagina in esecuzione si riesce a trovare una soluzione
    non posso perchè è un dev, quindi non è online.

    detto ciò io vorrei semplicemente(?) che al caricamento della pagina, venga letto il valore del primo menu

    codice HTML:
    <fieldset>
                        <label class="label-medium">Seleziona Tipo</label>
                        <select class="input-medium round input-4" name="tipologie" id="tipologie">
                            <option value=""></option>
                             <option value="1" <?= (isset($item['type']) &&  $item['type'] == 1)?"selected='selected'":""  ?>>Articolo</option>
                            <option  value="2" <?= (isset($item['type']) && $item['type'] ==  2)?"selected='selected'":"" ?>>Categoria</option>
                             <option value="3" <?= (isset($item['type']) &&  $item['type'] == 3)?"selected='selected'":""  ?>>Pagina</option>
                        </select>
                    </fieldset>
    e riempia tramite la mia funzione php
    il secondo menu a tendina

    codice HTML:
    <fieldset>
                        <label class='label-medium'>Lista tipo</label>
                        <select class='input-medium round input-4' name='list' id='parent'>  
                        </select>
    </fieldset>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    L'utilizzo delle select è la più difficile da gestire ma senza vedere come si compone/popoli la pagina non so che dirti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.